这个就非常多啦,VisualStudio,Qt,IDEA,Delphi,PowerBuilder等这些软件都可以,直接拖拽控件就可设计Windows窗体应用程序,下面我简单介绍一下:
VisualStudio
这是微软开发的一个非常著名的IDE集成环境,主要用于Windows环境下开发使用,对于Windows窗体应用程序,主要是WinForm、WPF、MFC等,可用控件非常丰富,可以直接拖拽设置设计UI界面,兼容性和扩展性也非常好,是Windows平台下主要的窗体应用程序开发软件:
Qt
这是一个基于C++的图形用户界面应用程序开发框架,免费、开源、跨平台,应用非常广泛,提供可视化组件非常多,可以直接拖拽设计Windows窗体程序,还可以利用QSS进行界面美化,如果你需要跨平台应用,并且要基于C++进行,那么可以考虑学习一下这框架,非常不错,值得学习和使用:
IDEA
这是一个Java集成开发环境,在业界非常受欢迎,已经集成了Windows窗体应用程序设计,可用组件众多(基于swing),可以直接拖拽设计UI界面,如果你对Java编程比较熟悉的话,可以使用一下这个软件,非常不错:
Delphi
这是Windows平台下一个非常著名的应用程序开发工具,以可视化的图形用户界面为开发工具,可用控件众多,可以直接拖拽设计UI界面,所见即所得,非常方便,开发、编译和运行效率都非常高,在早期的Windows窗体设计中经常会用到,不过随着Qt、WinForm等的兴起,Delphi应用的范围越来越小,正在逐渐走向没落:
PowerBuilder
这也是Windows平台下一个非常不错的可视化编程工具,和Delphi一样,在早期的Windows窗体程序设计中,经常会用到,内镇喊升置控件众多,可以直接拖拽编辑设计UI界面,支持高效的应用程序开发,查询、报表和图形功能强大,对于桌面C/S应用程序开发来说,也是一个不错的选择,不渗蔽过随着新技术的兴起,PB也在逐渐走向没落,使用的人也越来越少:
目前,就分享这5个Windows窗体应用程序开发软件吧,前3个软件是目前主流的窗体开发软件,后2个软件正在逐渐走向没落,只要你有一定的编程基础,熟悉一下相关软件的使用,很快就能掌握的,网上也有相关教程和御老资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
使用VisualC++开发Windows窗体项目,通常与使用任何其他.NET语言(如VisualBasic.NET或C#)进行开发并无不同。
三部分:
WinMain(主函数)
WinProc(消息处理函数)
...(自定义的函数)
不知道你是什么编译器
如果跟我一样,欢迎追问告诉你创建步骤!
另外附一个小程序(需要用到外部库、文件、函数,请勿尝试编译)
#include <windows.h>#include <cstdio>
#include <ctime>
#include <cmath>
#pragma comment(lib,"msimg32")
#define Window_FullWidth 864
#define Window_FullHeight 540
#define 行皮Screen_FullWidth GetSystemMetrics(SM_CXSCREEN)
#define Screen_FullHeight GetSystemMetrics(SM_CYSCREEN)
#define Game_Menu
#define Game_Load
#define Game_Play
#define Game_Pause
#define Game_Over
HDC g_hdc,m_hdc,t_hdc
HBITMAP bm,bk,bg,background
HFONT hfont
BLENDFUNCTION bf
FILE *fp
POINT p
int bTrans,bTrans_add=1
void game_Init(HWND hwnd)
void game_Play(HWND hwnd)
void game_check(HWND hwnd)
void game_Paint(HWND hwnd)
void game_reset(HWND hwnd)
void game_Clear(HWND hwnd)
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
WNDCLASSEX wc 档搭差 HWND hwnd
MSG msg
memset(&wc,0,sizeof(wc))
wc.cbSize = sizeof(WNDCLASSEX)
wc.lpfnWndProc = WndProc
wc.hInstance = hInstance
wc.hCursor = LoadCursor(NULL, IDC_ARROW)
wc.hbrBackground = NULL
wc.lpszClassName = "WindowClass"
wc.hIcon = LoadIcon(hInstance,"DICO")
wc.hIconSm = LoadIcon(hInstance,"DICO")
if(!RegisterClassEx(&wc)) {
MessageBox(NULL, "Window Registration Failed!","Error!",MB_ICONEXCLAMATION|MB_OK)
return 0
}
hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","",WS_VISIBLE|WS_OVERLAPPEDWINDOW^WS_THICKFRAME^WS_MINIMIZEBOX^WS_MAXIMIZEBOX,
(Screen_FullWidth-Window_FullWidth)/2,(Screen_FullHeight-Window_FullHeight)/2,Window_FullWidth,Window_FullHeight,NULL,NULL,hInstance,NULL)
if(hwnd == NULL) {
MessageBox(NULL, "Window Creation Failed!","Error!",MB_ICONEXCLAMATION|MB_OK)
return 0
}
game_Init(hwnd)
ShowWindow(hwnd,nCmdShow)
UpdateWindow(hwnd)
srand(time(NULL))
game_reset(hwnd)
while (msg.message != 枝段WM_QUIT) {
if (PeekMessage(&msg,0,0,0,PM_REMOVE))
{
TranslateMessage(&msg)
DispatchMessage(&msg)
}
else
{
int start_clock_count=clock()
game_Play(hwnd)
game_Paint(hwnd)
while(clock()-start_clock_count<30)
}
}
return msg.wParam
}
void game_Init(HWND hwnd)
{
char s[20] HINSTANCE hInstance
t_hdc = GetDC(hwnd)
g_hdc = CreateCompatibleDC(t_hdc)
m_hdc = CreateCompatibleDC(g_hdc)
background = CreateCompatibleBitmap(t_hdc,Window_FullWidth,Window_FullHeight)
bg = (HBITMAP) LoadImage(GetModuleHandle(0),"res\\day.bmp",IMAGE_BITMAP,0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION)
bk = (HBITMAP) LoadImage(GetModuleHandle(0),"res\\black.bmp",IMAGE_BITMAP,0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION)
bf.BlendOp = AC_SRC_OVER
bf.BlendFlags = 0
bf.SourceConstantAlpha = bTrans
bf.AlphaFormat = 0
}
void game_Paint(HWND hwnd)
{
SelectObject(g_hdc,background)
SelectObject(m_hdc,bg)
BitBlt(g_hdc,0,0,100,100,m_hdc,0,0,SRCCOPY)
SelectObject(m_hdc,bk)
BitBlt(g_hdc,0,0,300,300,m_hdc,0,0,SRCCOPY)
BitBlt(t_hdc,0,0,Window_FullWidth,Window_FullHeight,g_hdc,0,0,SRCCOPY)
}
void game_Play(HWND hwnd)
{
if(bTrans==255) bTrans_add=-1 if(bTrans==0) bTrans_add=1
bTrans+=5*bTrans_add bf.SourceConstantAlpha = bTrans
}
void game_check(HWND hwnd)
{
}
void game_reset(HWND hwnd)
{
}
void game_Clear(HWND hwnd)
{
ReleaseDC(hwnd,t_hdc)
DeleteObject(g_hdc)
DeleteObject(hfont)
DeleteObject(m_hdc)
DeleteObject(bm)
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
p.x=LOWORD(lParam) p.y=HIWORD(lParam)
switch(Message) {
case WM_DESTROY: {
game_Clear(hwnd)
PostQuitMessage(0)
break
}
default:
return DefWindowProc(hwnd, Message, wParam, lParam)
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)