2010-05-31 5 views
2

Windows Web Intelligence를 Windows C++ 응용 프로그램에 포함시키고 있습니다. 나는 카이로 항구를 사용하고있다. 그것은 잘 작동합니다.WebKit에서 스크롤 막대 사용 안 함 (플랫 프레임 모드)

클라이언트 영역에 표시 할 수있는 데이터가 더 많은 경우 나타나는 스크롤바를 비활성화하고 싶습니다. iPhone과 마찬가지로 iPhone에는 스크롤 막대가 없으며 스크롤은 다르게 구현됩니다.

C++ (자바 스크립트 해킹 없음)에서 프로그래밍 방식으로 스크롤바를 비활성화 할 수 있습니까?


업데이트 :

나는 HRESULT IWebFrame::setAllowsScrolling(BOOL flag) 전화를 시도했다. IWebFrame 인터페이스를 얻으려면 HRESULT IWebView::mainFrame(IWebFrame **frame)이라고 부릅니다. 이것은 효과가없는 것 같습니다. 스크롤 막대가 계속 나타납니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 여기서 주요 관심사가 아닌가?


업데이트 :

이 같은 평면 프레임 모드를 활성화 시도는 :

IWebPreferences *Preferences; 
hr = pWebView->preferences(&Preferences); 
if (FAILED(hr)) 
    goto exit; 

IWebPreferencesPrivate *PrivatePreferences = 0; 
hr = Preferences->QueryInterface(IID_IWebPreferencesPrivate, (void **)&PrivatePreferences); 
if (FAILED(hr)) 
    goto exit; 
hr = PrivatePreferences->setFrameSetFlatteningEnabled(TRUE); 
if (FAILED(hr)) 
    goto exit; 

코드는 잘 실행하지만 아무것도 일어날 것 같다. 여기서 내가 뭘 잘못하고 있니?


업데이트 : 메인 윈도우를 만들 때 내가 WS_VSCROLL를 포함 할 수 있습니다 제안을받은

.

MainWindow = CreateWindow(
    WindowClass, 
    WindowTitle, 
    WS_OVERLAPPEDWINDOW, 
    CW_USEDEFAULT, 
    0, 
    iPhoneXRes + 16 + 20, 
    iPhoneYres + 110, 
    NULL, 
    NULL, 
    hInstance, 
    NULL 
); 

감사합니다,

답변

1

당신이 웹킷의 카이로 포트를 재 구축 : 이것은 사실이 아니다? 그렇다면

, 당신은 WebCore/CSS/html4.css 및 수정할 수있는 "오버플로 : 숨겨진"를 포함하는 WebCore/CSS/quirks.css body 태그에 있습니다.

그렇다면 스크롤바를 사용 중지하는 유일한 방법은 자바 스크립트를 통과하는 것입니다.

관련 문제