导航:首页 > 编程知识 > idm是怎么编程出来的

idm是怎么编程出来的

发布时间:2023-09-01 08:42:55

Ⅰ 用Visual C++编写一个SDI应用程序,按以下要求编程:

MFC基础编程,你这个要求挺简单的,我们课本上貌似就有,不过我现在这里没有安装vc,你这个程序就是一些操作,也不好贴代码,如果你要是实在弄不出来,我回去帮你弄一下,然后把操作过程写清楚,把工程都发给你吧,不过至少得到明天,今天没时间。

现在把操作过程发给你吧,希望你能操作出来,我已经编译运行过了的。如果有问题,可能是你操作上的问题,我一步步操作然后一步步发给你。实在还有问题就找我交流吧,
1.新建MFC工程,命名MySdi,选择单文档,完成。
2.插入(insert)->资源(resources),选择Dialog,点击new(新建)。 //这步完成新建一个对话框资源
3.然后就是编辑这个资源了,画两个静态文本框提示x和y,画两个编辑框用来输入坐标的。
4.在对话框最上面点右键点击类向导,为资源添加一个新类,命名为CTestDlg。
5.给类CTestDlg添加成员变量POINT m_point,公有变量。然后在CTestDlg的构造函数中初始化
m_point.x=0;
m_point.y=0;
6.回到对话框资源编辑那里(就是刚才画图那里),在OK按钮双击确定然后进入OnOk()函数编写中。添加如下代码:
m_point.x=GetDlgItemInt(IDC_EDIT1);
m_point.y=GetDlgItemInt(IDC_EDIT2);
7.以上就弄好了对话框了,下面就是菜单和显示对话框的问题了。
首先在菜单资源中编辑中添加菜单项“输入数据(I)..”,ID为IDM_INPUT,caption为“输入数据(I)...\\tCtrl+I”,点击资源中Accelerator下的IDR_MAINFRAME然后添加快捷键(这个会吧。。。)。
8.回到刚才菜单资源编辑中,在输入数据菜单项上点击右键选择类向导添加菜单项的命令响应,选择CMySdiVie类,选择command,点击add function,edit exsiting进入代码编辑状态。添加如下代码:
CMyDialog dlg;
if(dlg.DoModal()==IDOK)
{
x=dlg.m_point.x;
y=dlg.m_point.y;
Invalidate();
}
然后给CMySdiView类添加成员变量x,y并在构造函数中初始化。
注意:还要在这个文件最上面添加如下代码:#include "TestDlg.h"
9.这个时候你可以编译试试,点菜单项可以弹出对话框了。
10.最后,就是在OnDraw()函数中添加如下代码:
pDC->MoveTo(0,0);
pDC->LineTo(x,y);
(我这里每次画一条原点到输入点的线,不知道你题目说的“画一条从当前位置到输入坐标的直线”中当前位置是什么意思,你也可以自己改一下坐标就可以画出你要的线了)。

哎,够详细吧,我可是画了几个小时啊,写这么详细,为了保证不出错,我先做出来了,然后重新做了一次,做一步写一步。如果你操作正确,肯定错不了。不过万一你还有什么问题就直接找我交流就是了。
不是吧,给你弄这么详细还不给个好评给我,我伤心啊。。。

Ⅱ C语言图形界面怎么做出来

这是最简单的界面程序://c++.cpp:定义应用程序的入口点。

//

#include"stdafx.h"

#include"c++.h"

#defineMAX_LOADSTRING100

//全局变量:

HINSTANCEhInst; //当前实例

TCHARszTitle[MAX_LOADSTRING]; //标题栏文本

TCHARszWindowClass[MAX_LOADSTRING]; //主窗口类名

//此代码模块中包含的函数的前向声明:

ATOM MyRegisterClass(HINSTANCEhInstance);

BOOL InitInstance(HINSTANCE,int);

LRESULTCALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

INT_PTRCALLBACK About(HWND,UINT,WPARAM,LPARAM);

intAPIENTRY_tWinMain(HINSTANCEhInstance,

HINSTANCEhPrevInstance,

LPTSTRlpCmdLine,

intnCmdShow)

{

UNREFERENCED_PARAMETER(hPrevInstance);

UNREFERENCED_PARAMETER(lpCmdLine);

//TODO:在此放置代码。

MSGmsg;

HACCELhAccelTable;

//初始化全局字符串

LoadString(hInstance,IDS_APP_TITLE,szTitle,MAX_LOADSTRING);

LoadString(hInstance,IDC_C,szWindowClass,MAX_LOADSTRING);

MyRegisterClass(hInstance);

//执行应用程序初始化:

if(!InitInstance(hInstance,nCmdShow))

{

returnFALSE;

}

hAccelTable=LoadAccelerators(hInstance,MAKEINTRESOURCE(IDC_C));

//主消息循环:

while(GetMessage(&msg,NULL,0,0))

{

if(!TranslateAccelerator(msg.hwnd,hAccelTable,&msg))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

}

return(int)msg.wParam;

}

//

//函数:MyRegisterClass()

//

//目的:注册窗口类。

//

//注释:

//

//仅当希望

//此代码与添加到Windows95中的“RegisterClassEx”

//函数之前的Win32系统兼容时,才需要此函数及其用法。调用此函数十分重要,

//这样应用程序就可以获得关联的

//“格式正确的”小图标。

//

ATOMMyRegisterClass(HINSTANCEhInstance)

{

WNDCLASSEXwcex;

wcex.cbSize=sizeof(WNDCLASSEX);

wcex.style =CS_HREDRAW|CS_VREDRAW;

wcex.lpfnWndProc =WndProc;

wcex.cbClsExtra =0;

wcex.cbWndExtra =0;

wcex.hInstance =hInstance;

wcex.hIcon =LoadIcon(hInstance,MAKEINTRESOURCE(IDI_C));

wcex.hCursor =LoadCursor(NULL,IDC_ARROW);

wcex.hbrBackground =(HBRUSH)(COLOR_WINDOW+1);

wcex.lpszMenuName =MAKEINTRESOURCE(IDC_C);

wcex.lpszClassName =szWindowClass;

wcex.hIconSm =LoadIcon(wcex.hInstance,MAKEINTRESOURCE(IDI_SMALL));

returnRegisterClassEx(&wcex);

}

//

//函数:InitInstance(HINSTANCE,int)

//

//目的:保存实例句柄并创建主窗口

//

//注释:

//

//在此函数中,我们在全局变量中保存实例句柄并

//创建和显示主程序窗口。

//

BOOLInitInstance(HINSTANCEhInstance,intnCmdShow)

{

HWNDhWnd;

hInst=hInstance;//将实例句柄存储在全局变量中

hWnd=CreateWindow(szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);

if(!hWnd)

{

returnFALSE;

}

ShowWindow(hWnd,nCmdShow);

UpdateWindow(hWnd);

returnTRUE;

}

//

//函数:WndProc(HWND,UINT,WPARAM,LPARAM)

//

//目的:处理主窗口的消息。

//

//WM_COMMAND -处理应用程序菜单

//WM_PAINT -绘制主窗口

//WM_DESTROY -发送退出消息并返回

//

//

LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam)

{

intwmId,wmEvent;

PAINTSTRUCTps;

HDChdc;

switch(message)

{

caseWM_COMMAND:

wmId=LOWORD(wParam);

wmEvent=HIWORD(wParam);

//分析菜单选择:

switch(wmId)

{

caseIDM_ABOUT:

DialogBox(hInst,MAKEINTRESOURCE(IDD_ABOUTBOX),hWnd,About);

break;

caseIDM_EXIT:

DestroyWindow(hWnd);

break;

default:

returnDefWindowProc(hWnd,message,wParam,lParam);

}

break;

caseWM_PAINT:

hdc=BeginPaint(hWnd,&ps);

//TODO:在此添加任意绘图代码...

EndPaint(hWnd,&ps);

break;

caseWM_DESTROY:

PostQuitMessage(0);

break;

default:

returnDefWindowProc(hWnd,message,wParam,lParam);

}

return0;

}

//“关于”框的消息处理程序。

INT_PTRCALLBACKAbout(HWNDhDlg,UINTmessage,WPARAMwParam,LPARAMlParam)

{

UNREFERENCED_PARAMETER(lParam);

switch(message)

{

caseWM_INITDIALOG:

return(INT_PTR)TRUE;

caseWM_COMMAND:

if(LOWORD(wParam)==IDOK||LOWORD(wParam)==IDCANCEL)

{

EndDialog(hDlg,LOWORD(wParam));

return(INT_PTR)TRUE;

}

break;

}

return(INT_PTR)FALSE;

}

Ⅲ 现在chrome怎么使用idm 希望能给个详细的教程,如果有用可以追偿

1、首先需要安装IDM扩展程序,打开IDM安装文件夹,找到这个文件“IDMGCExt.crx”。

阅读全文

与idm是怎么编程出来的相关的资料

热点内容
诛仙62坐骑怎么升级到63 浏览:926
linux以日期查看日志记录 浏览:446
工业大数据是什么东西 浏览:881
魅族note3怎么重置网络 浏览:510
c语言程序设计模 浏览:92
儿童怎么做可编程机 浏览:603
数据计算属于什么统计学 浏览:921
07word怎么去掉标记 浏览:979
qq缓存的数据是什么 浏览:348
LED主Kv文件多少兆 浏览:856
苹果edge怎么删除下载文件 浏览:471
sas逻辑回归代码 浏览:572
用于keil下的stc器件数据库 浏览:400
新闻网站后台如何操作前台 浏览:539
在剪映app中怎么查看视频尺寸 浏览:9
linux文件成分包括 浏览:886
文件转换免费的软件 浏览:644
linuxwpsxlsx 浏览:482
小米手机怎么上移动网络连接失败怎么办 浏览:598
win10系统打开java 浏览:479

友情链接