
1:新建一个Winform工程,会自带一个窗体,但是这个多半不是你想要的。
2:如果是要动态地生成一个窗体(已有一个窗体Form1的情况下),核心代码如下:
Form f = new Form();//实体化一个Form类
fShow();//d出f
或者
fShowDialog();//d出f,且将焦点锁定在f上,不关闭f,无法对Form1进行 *** 作
希望可以帮到你
要用C语言编写一个窗体应用程序需要调用系统或第三方提供的API函数,一般的步骤是:
定义窗口类
注册窗口类
创建窗口
显示、更新窗口
进行消息循环,不断处理窗口消息
步骤:
1、注册窗口类;
2、创建窗体;
3、消息循环;
4、编写窗口消息处理函数。
代码:
#include <windowsh>#include<tcharh>
LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
int WINAPI _tWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR szCmdLine, int nCmdShow)
{
WNDCLASS wc;
wcstyle = CS_HREDRAW | CS_VREDRAW;
wclpfnWndProc = WindowProc;
wccbClsExtra = 0;
wccbWndExtra = 0;
wchInstance = hInstance;
wchIcon = NULL;
wchCursor = LoadCursor(NULL,IDC_ARROW);
wchbrBackground = (HBRUSH)COLOR_WINDOW;//(HBRUSH)GetStockObject();
wclpszMenuName = NULL;
wclpszClassName = _T("MyWindowClass");
if (!RegisterClass(&wc))
{
MessageBox (NULL, _T("无法注册窗口类"), _T("错误"), MB_OK);
return 0 ;
}
HWND newWindow = CreateWindow(
_T("MyWindowClass"),
_T("我的第一个winapi程序"),
WS_OVERLAPPEDWINDOW,
0,
0,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
if (NULL == newWindow)
{
MessageBox (NULL, _T("无法创建窗体"), _T("错误"), MB_OK);
return 0;
}
ShowWindow(newWindow, nCmdShow);
UpdateWindow(newWindow);
MSG msg;
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_DESTROY:
{
PostQuitMessage(0);
break;
}
default :
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
return 0;
}
就是一个只有标题栏、关闭按钮、最小化按钮、最大化/还原按钮、显示区域的窗体。
具体如下 :
新建一个对话框资源,比如Dlg;在OnButton()响应函数下。
在窗口托一个button。
给button加一个单击响应函数 OnButton()。
Windows下选择原生态的SDK(看《windows程序设计》),或者开发效率更高的MFC(运行效率低一点、也比较庞杂),或者WTL。Duilib可以结合后两者使用。
跨平台的解决方案就多了。Qt自不用说。从linux上过来的GTK+、wx(这两者我未接触过)也可以。比较小众的还有FLTK、SDL(做多媒体程序、游戏比较适合)、SFML等等。
以上就是关于C#程序中如何新建窗体全部的内容,包括:C#程序中如何新建窗体、如何用C语言编写一个窗体应用程序、怎么用c语言写窗体程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)