Win32開發入門(18):使用對話方塊的兩個技巧

來源:互聯網
上載者:User

相信大家知道對話方塊怎麼用了,就是先用“資源編輯器”設計一個對話方塊,然後在代碼中載入處理 。今天,我向大家分享兩個使用對話方塊的技巧,還是比較實用的。不用擔心,先喝杯茶,很簡單的,一 點也不複雜,總之,看俺寫的部落格,你不會有思想壓力的。放心好了。

這兩個技巧分別是:

1、在顯示某個對話方塊時,向對話方塊傳遞資料。

這個我相信大家能夠理解,就好比咱們 在做Web開發的時候,在開啟一個頁面時,可能會考慮向目標頁面傳一些參數,如這樣http://www.牛 B.com/yyy.aspx?tid=19999,是吧,我們都很經常這樣做,所以,在玩Win32的時候,我們也同樣希望 這樣。

我們知道,要顯示一個模態對話方塊,可以調用DialogBox函數,這個不難,我有理由相信 大家只需稍稍研究一下,一定會玩的,就像遙控飛機那麼簡單。如果你認真閱讀MSDN,你一定會發現有 這麼一個函數:DialogBoxParam。怎麼樣,是不是和前面的那個DialogBox很像,只是腦袋後面多了幾 根汗毛罷了,而且,從Param就可以猜到,應該與參數傳遞有關。對,猜得相當好,我們在顯示某個對 話框時,要向對話方塊傳參數,就是用它了。

順便提一下,什麼是模態對話方塊呢?模態對話方塊就 是說如果這個對話方塊彈出來(顯示)了,你就不能操作父視窗或者其上面的控年了,程式也會在彈出對 話框後停下,直到操作完成了,你把對話方塊關了,程式才會繼續,你才能操作其他控制項,就好像你開車 上班,行駛到某個路口,前面有幾輛車突然停了下來,車上下來一群不男不女的人,在馬路上打起架來 了,導致交通嚴重受阻,你的車夾在車流中間,既不前進,也不能後退,就卡在那裡,你估計只好獃在 車裡,拿出MP5,看看恐怖片,等到交通恢複正常了,才能繼續行車。

看看這個DialogBoxParam 函數的定義:

INT_PTR WINAPI DialogBoxParam(       _In_opt_  HINSTANCE hInstance,       _In_      LPCTSTR lpTemplateName,       _In_opt_  HWND hWndParent,       _In_opt_  DLGPROC lpDialogFunc,       _In_      LPARAM dwInitParam     );

前面幾個參數估計不用我介紹了,大家都認識,比周杰倫和刀郎還要出名。重點是最後一 個參數,它是一個LPARAM類型的,我記得Win32的許多類型的命名是有規律的,你看看,凡是P開頭或者 LP開頭都是指標類型,不信你可以總結一下。

所以這個參數肯定是指定某種未知生物的指標, 指標存的是地址,所以我們通過把我們要傳給對話方塊的資料的地址傳給這個參數,這樣,對話方塊的訊息 處理函數如果想取到你傳給它的資料,就從這個地址去找。就好像你同學介紹了一位美女給你認識,他 告訴你這位MM的QQ號,然後你想泡她你就知道怎麼做了,加QQ聊唄。

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。