2012-07-27 72 views
3

我知道什么时候该应用程序是窗口一个从一开始的创建方式的窗口,那就是你所谓如何在作为控制台启动的应用程序中创建窗口?

LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); 
int WinMain(HINSTANCE hInst,HINSTANCE,LPSTR,int nCmdShow); 

但是做什么,如果我想获得用户的选择时,它显示一个控制台应用程序的输出结束。这就是在临时创建的窗口中以更易读的形式显示其数据,而不是控制台允许的纯文本模式。

在控制台应用程序,我有手表用户按键的功能,我的程序结束时,它显示消息:press D to display result in a window instead of console,并在代码:

if (virtual_key == 0x44) { 
    HWND myWindow = myCreateWindFunc(/* data */); 
} 

这就是我需要包装的所有代码将窗口创建为一个函数,然后用数据调用函数来填充它的控制权。

回答

3

控制台应用程序可以使用任何相关的WinAPI函数(MessageBoxDialogBox等)创建子窗口或对话框。

唯一需要注意的是create函数可能需要控制台窗口的句柄。要获得它,你可以使用这里的例子How To Obtain a Console Window Handle

相关问题