線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1293
推到 Plurk!
推到 Facebook!

如何讓F10和alt鍵不去呼叫SystemMenu?

尚未結案
seg
一般會員


發表:1
回覆:0
積分:0
註冊:2010-01-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-01-10 15:06:44 IP:123.194.xxx.xxx 訂閱
需求:希望可以 F10 、Alt 鍵別去呼叫 System Menu Box
試的過程中:
WINAPI WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) 裡去 攔截訊息
switch (message)
{
case WM_SYSCOMMAND:
switch( wParam )
{
case ( SC_KEYMENU ) :
return true;
break;
}
default: {
return DefWindowProc(hwnd, message, wParam, lParam);
break;
}

問題 一、而不讓訊息流到 DefWindowProc(hwnd, message, wParam, lParam);
但我覺得這樣的作法似乎很暴力,為何流到 DefWindowProc 後會去觸發 System menu box?
我可以在DefWindowProc裡去擋嗎?
問題 二、我想說在建視窗時就別去建立system menu 就好了,但我又需要 border最左上角有小icon和MINIMIZEBOX、MAXIMIZEBOX
但我只要沒設定 WS_SYSMENU 的話,就一定沒有 border最左上角有小icon和MINIMIZEBOX、MAXIMIZEBOX
這是我在 CreateWindowEx 的style 設定 window_style = WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_CAPTION | WS_BORDER | WS_VISIBLE;
問題三、還是我有別的方法可以去擋訊息?

被這問題困擾五天了,一直試不出來
謝謝
------
new
boss.tw
高階會員


發表:15
回覆:109
積分:194
註冊:2005-05-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-01-12 21:55:04 IP:122.116.xxx.xxx 訂閱
系統時間:2017-12-13 5:25:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!