2013-08-20 18 views
2

我在WinAPI上創建了一個我自己的小程序(練習WIN API編程) 我想創建一個「關於我們」的框,就像它被告知誰在構建該程序的位置,它是哪個版本和這樣的...Win API,如何在對話框中寫文本?

我能夠成功地創建窗口,雖然我只能創建一個空的窗口.. 我想知道如何在框中寫文本?

這是我的函數創建對話框,其中ghInstance是窗口的實例:

void CreateDialogBox(HWND hwnd) 
{ 
CreateWindowEx(WS_EX_DLGMODALFRAME | WS_EX_TOPMOST, TEXT("DialogClass"), TEXT("About Us"), WS_VISIBLE | WS_SYSMENU | WS_CAPTION , 100, 100, 200, 150, NULL, NULL, ghInstance, NULL); 
} 

所以,我怎麼能寫空的窗口裏面的一些東西嗎?

謝謝!

回答

1

本教程,由微軟(MSDN)提供自己應該派上用場:

http://msdn.microsoft.com/en-us/library/vstudio/bb384843.aspx

。注意到WM_PAINT節。這是爲了繪製簡單的文字。

您也可以在窗口上創建控件,例如: C++ Win32 Multiline static label

+3

您應該使用文本控件以便程序可以訪問。實際上,你應該使用一個系統對話框,它將爲你做幾乎所有的事情。 –

+0

謝謝,我已經用控件代替:) 我不想使用MessageBox,而是寫我自己的一個:) – Amit

0

如果您正在使用MS VC++,你可以嘗試編輯預先製作資源腳本關於我們。或者你手工製作資源腳本。

DialogboxName DIALOGEX 0, 0, 170, 62 
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU 
CAPTION "About Us" 
FONT 8, "MS Shell Dlg", 0, 0, 0x1 
BEGIN 
    ICON   128,IDC_STATIC,14,14,21,20 
    LTEXT   "Program by you, Version 1.0",IDC_STATIC,42,14,114,8,SS_NOPREFIX 
    LTEXT   "Copyright (C) 2016",IDC_STATIC,42,26,114,8 
    DEFPUSHBUTTON "OK",IDOK,113,41,50,14,WS_GROUP 
END 

您可以參考Charles Petzold的Windows編程書第5版。

相關問題