窗体编程
A. 如何用C++编程创建一个窗体
1.C++ 代码创建窗体,代码如下: #include HWND HMainwnd = NULL; //窗体句柄 int run(); //消息循环函数 bool InitWindowsApp(HINSTANCE instanceHandle, int show); //窗体初始化函数 LRESULT CALLBACK WndProc(HWND wnd, UINT msg, WPARAM wp, LPARAM lp);//窗体处理回调函数 //main函数 int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) { if(!InitWindowsApp(hInstance, nShowCmd))//判断窗体初始化是否成功 { return 0; } run(); //初始化成功后循环接收消息 return 0; } bool InitWindowsApp(HINSTANCE stanceHandle, int show) { WNDCLASS wc; //窗体类结构体 wc.style = CS_HREDRAW | CS_VREDRAW; //窗体风格 wc.lpfnWndProc = WndProc; //窗体处理函数 wc.cbClsExtra = 0; //窗体类是否由扩展 wc.cbWndExtra = 0; //窗体实例是否由扩展 wc.hInstance = stanceHandle; //窗体句柄 wc.hIcon = LoadIcon(0, IDI_APPLICATION); //窗体图标 wc.hCursor = LoadCursor(NULL, IDC_ARROW); //窗体鼠标样式 wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //窗体背景颜色 wc.lpszMenuName = NULL; //窗体菜单 wc.lpszClassName = "BaseWndClass"; //窗体类名 if(!RegisterClass(&wc)) //判断窗体是否注册成功 { MessageBox(0, "注册失败", 0, 0); return false; } //创建窗体 HMainwnd = CreateWindow("BaseWndClass", //窗体类名 "MyFrom", //窗体标题名 WS_OVERLAPPEDWINDOW, //窗体风格 CW_USEDEFAULT, CW_USEDEFAULT, //窗体坐标 CW_USEDEFAULT, CW_USEDEFAULT, //窗体坐标 NULL, //窗体的父窗体 NULL, //窗体的子菜单 stanceHandle, //窗体句柄 NULL); // 如果函数成功,返回值为新窗口的句柄:如果函数失败,返回值为NULL if(HMainwnd == 0)//判断创建窗体是否成功 { MessageBox(0, "创建窗体失败", 0, 0); return false; } ShowWindow(HMainwnd, SW_SHOW); //显示窗体 UpdateWindow(HMainwnd); //绘制窗体; return true; } LRESULT CALLBACK WndProc(HWND wnd, UINT msg, WPARAM wp, LPARAM lp) { switch(msg)//判断消息的种类 { case WM_LBUTTONDOWN: //左键单击 MessageBox(0, "Hello World", "myMbox", MB_OK); return 0; case WM_KEYDOWN: //键盘消息 if(wp == VK_ESCAPE) //ESC键 DestroyWindow(HMainwnd); //销毁窗体 return 0; case WM_DESTROY: PostQuitMessage(0); //终止消息 return 0; } return DefWindowProc(wnd, msg, wp, lp); //返回缺省消息函数 } int run() { MSG msg = {0}; //消息结构 BOOL bRet = 1; //获取消息 while( (bRet = GetMessage(&msg, 0, 0, 0)) != 0)//消息循环 { if(bRet == -1)//判断消息是否接收失败 { MessageBox(0, "接受消息失败", 0, 0); break; } else { TranslateMessage(&msg); //转换消息为字符消息 DispatchMessage(&msg); //发送消息给窗口 } } return (int)msg.wParam;
B. java编程,设计一个窗体,要有三个部分(文本框、按钮、标签),按钮内容输出到文本框
程序如下:
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class MyFrame extends JFrame implements ActionListener
{
private JButton button;
private JTextField textField;
private JLabel label;
public MyFrame()
{
button = new JButton("Hello world");
textField = new JTextField(15);
label = new JLabel("输入内容:");
setTitle("Simple-Frame");
setBounds((Toolkit.getDefaultToolkit().getScreenSize().width - 500)/2,
(Toolkit.getDefaultToolkit().getScreenSize().height - 300)/2
, 500, 300);
setLayout(new FlowLayout());
add(label);
add(textField);
add(button);
setResizable(false);
setVisible(true);
this.button.addActionListener(this);
}
public static void main(String[] args)
{
new MyFrame();
}
@Override
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == this.button)
{
this.textField.setText("Hello World");
}
}
}
有问题欢迎提问,满意请点赞,谢谢!