用什么软件开发windows窗体应用小程序?

用什么软件开发windows窗体应用小程序?,第1张

这个就非常多啦,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

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8283524.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存