2010-08-11 52 views
0

我有在MFC中編寫的對話框應用程序。 對話框上有3個子控件。 2個按鈕(按鈕1 &按鈕2)和一個HTML控件(從CHtmlView派生的類) HTML控件已導航到有2個複選框的HTML頁面(複選框1 &複選框2)。CHtmlView類和焦點

控制Z順序爲重點應該是這樣的: 按鈕1個 按鈕2 HTML控件然後再扣1

當焦點轉到HTML控制。我想它設置爲複選框1 &然後按下標籤後它將被設置爲複選框2. 但是當我按Tab鍵時,重點放在複選框2上,我希望它設置爲按鈕1.

即 我想重點循環,如:按鈕1 - >按鈕2 - >複選框1 HTML控制 - >複選框2 HTML控制 - >然後再扣1

問題: 當焦點設置爲HTML控件,它不會被設置爲複選框1,並且在焦點打開時按下標籤後複選框2焦點不會 回到按鈕1.

如果問題不夠充分,請告訴我,我會更簡化它。 欣賞你的時間。

回答

0

我無法測試它,但您可以嘗試將WS_EX_CONTROLPARENT樣式添加到HTML控件。

int OnInitDialog(...) 
{ 
    HWND html = GetDlgItem(dialog, ID_HTML); 
    DWORD ex_style = GetWindowLong(html, GWL_EXSTYLE); 
    SetWindowLong(html, GWL_EXSTYLE, ex_tyle | WS_EX_CONTROLPARENT); 
    return 0; 
} 

我希望它能起作用。

+0

感謝您的回覆。 但仍然存在問題。 按父母對話框的按鈕2上的選項卡後,如何將焦點設置爲HTML控件的複選框1。 另外如何將焦點返回到按鈕1? 我想要重點循環按鈕1 - >按鈕2 - >複選框1 - >複選框2 - >再次按鈕1. 謝謝, Vaibhav。 – 2010-08-12 05:49:38

+0

HTML控件是否具有WS_TABSTOP樣式? – Tassos 2010-08-12 07:43:38

+0

我有一個對話框中的html控件的行爲如預期(至少對於鏈接)。資源文件中的行是: CONTROL「」,IDC_EXPLORER,「{8856F961-340A-11D0-A96B-00C04FD705A2}」,WS_TABSTOP,7,210,333,39 – Tassos 2010-08-12 07:50:12