IPMSG飛鴿傳書2 關於對話方塊

2021-05-24 01:45:05 字數 2244 閱讀 9979

twin是所有視窗的父類,tdlg是對話方塊子類,處理了wm_initdilog等訊息,

建立過程:首先aboutdlg = new taboutdlg;然後create(),最後show();

create()是tdlg類的函式,首先把當前的twin物件aboutdlg的指標加入到wndarray中,然後呼叫sdk函式

傳送wm_initdialog訊息,呼叫taboutdlg類的evcreate函式來處理,

接著是show()函式,傳送wm_ncpaint訊息,接著傳送wm_paint訊息,後面是ctlcolor訊息,呼叫

eventctlcolor()函式來處理(5次)。後面一直傳送wm_ncpaint訊息;

接下來則是taboutdlg來處理按鈕訊息了,按下按鈕後會訪問指定的網頁。處理evcommand訊息,

訪問ipmsgurl_msgstr指定的網頁,

在msgstr。h檔案中有定義:#define ipmsgurl_msgstr   "http://www.ipmsg.org/index.html.en"

taboutdlg是關於對話方塊,這裡僅

分析tdlg類和taboutdlg類的**:

//對話方塊類,twin的子類

class tdlg : public twin

virtual bool evcreate(lparam lparam);

virtual bool evcommand(word wnotifycode, word wid, lparam hwndctl);

virtual bool evsyscommand(wparam ucmdtype, points pos);

virtual bool evqueryopen(void);

virtual bool preprocmsg(msg *msg);

virtual lresult winproc(uint umsg, wparam wparam, lparam lparam);};

#include "tlib.h"

tdlg::tdlg(lpstr _resname, twin *_parent) : twin(_parent)

tdlg::tdlg(uint _resid, twin *_parent) : twin(_parent)

tdlg::~tdlg() // 呼叫enddialog方法來關閉對話方塊

//釋放resname資源

if ( resname )}

bool tdlg::create(hinstance hinstance)

void tdlg::destroy(void)

lresult tdlg::winproc(uint umsg, wparam wparam, lparam lparam)}

return false;}

bool tdlg::preprocmsg(msg *msg)

if ( !modal*** )

return false;}

bool tdlg::evsyscommand(wparam ucmdtype, points pos)

//處理對話方塊上的ok 和cancel按鈕

bool tdlg::evcommand(word wnotifycode, word wid, lparam hwndctl)

return false;}

bool tdlg::evqueryopen(void)

bool tdlg::evcreate(lparam lparam)

void tdlg::enddialog(int result)

else // 非模式對話方塊,直接destroywindow}}

taboutdlg類的**很少:

//關於對話方塊,只需要過載create和響應wm_command訊息的evcommand函式

class taboutdlg : public tdlg;

taboutdlg類的實現**:

taboutdlg::taboutdlg(twin *_parent) : tdlg(about_dialog, _parent)

bool taboutdlg::evcreate(lparam lparam)

else

return true;}

bool taboutdlg::evcommand(word wnotifycode, word wid, lparam hwndctl)

return true;}

r

飛鴿傳書管理軟體 「ipmsg」

隨著網路技術的飛速發展和生產的日益專業化 社會化,人類社會逐步進入了資訊經濟時代。在資訊經濟時代,人們的生產 生活發生了巨大變化,企業在生產 流通freeeim 飛鴿傳書 應用虛擬化系統以及管理等方面也相應的發生了一系列變化,飛鴿傳書管理領域也不例外。在傳書方面 傳統的傳書工作需要耗費大量的人力 物...

IPMSG 飛鴿傳書 協議翻譯

最近看到一些朋友在編寫網路程式是遇到一些問題,故把以前做ipmsg時翻譯的文件貼過來,希望對網路程式設計新手有所幫助,在尋找程式設計專案的同學們也可參照此文件寫出自己的ipmsg。本文只包含其中幾個比較重要的命令以及執行機制的中文翻譯,更詳細的內容請參照文後的ipmsg 協議英文文件 宣告 下述協議...

IPMSG飛鴿傳書3 協議翻譯

最近看到一些朋友在編寫網路程式是遇到一些問題,故把以前做ipmsg時翻譯的文件貼過來,希望對網路程式設計新手有所幫助,在尋找程式設計專案的同學們也可參照此文件寫出自己的ipmsg。本文只包含其中幾個比較重要的命令以及執行機制的中文翻譯,更詳細的內容請參照文後的ipmsg 協議英文文件 宣告 下述協議...