導航:首頁 > 編程知識 > 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是怎麼編程出來的相關的資料

熱點內容
有什麼女生主動聊天的app 瀏覽:436
有哪些可以督促自己的app 瀏覽:244
用USB傳輸視頻文件夾顯示為空 瀏覽:710
恢復文件軟體免費版手機 瀏覽:648
lg怎麼隱藏文件 瀏覽:836
蘋果免費讀書app推薦 瀏覽:497
劉駿微信 瀏覽:113
書旗舊版本80 瀏覽:467
教編程考什麼證 瀏覽:990
下載編程貓後哪裡有客服 瀏覽:13
如何編輯歌曲文件格式 瀏覽:638
cf無限領取cdk工具 瀏覽:350
如何讓手機文件保存到電腦上 瀏覽:459
sa資料庫默認密碼是多少 瀏覽:191
電腦正在查找文件 瀏覽:541
一個文件盒省內寄順豐多少錢 瀏覽:41
誅仙62坐騎怎麼升級到63 瀏覽:926
linux以日期查看日誌記錄 瀏覽:446
工業大數據是什麼東西 瀏覽:881
魅族note3怎麼重置網路 瀏覽:510

友情鏈接