VC雕蟲小技集 一

2021-05-21 12:23:10 字數 2289 閱讀 3397

...**vc 共享樂園

vc雕蟲小技集(一)

何志丹

1,避免隨機數相同,可以取當前時間,讀檔案,讀任意記憶體(如未定義變數,有一定

危險).

ctime t = ctime::getcurrenttime();

int n = t.getminute() * 60 + t.getsecond();

while(n-- > 0)

rand();

const int n = 100;

int result = rand()%n;

2, 字串與數的轉換

sprintf,sscanf,其實還有其它許多函式,但只這兩個函式是最容易記住的.因為

它們和printf,scanf,fprint,fscanf的用法類似.

char str[100];

int x = 5;

sprintf(str,"%d",x);

sscanf("10","%x",&x);

3,看乙個鍵是否處於按下狀態以及是否被按下過.

short key = getasynckeystate(vk_f11);

0x8001處於被按下狀態

1兩次呼叫getasynckeystate(vk_f11);之間,f11被按下過.

getasynckeystate,getkeystate指定偽程式碼為vk_lbutton,vk_rbutton就可判斷

滑鼠是否被按下過

4,如何刪除乙個類.

方法一:

1,把檔案刪除.

2,再開啟類嚮導(ctrl+w)類嚮導找不到檔案,會彈出乙個對話方塊remove就行了.

方法二:

1,fileview中刪除.

2,物理刪除.

5,自定義的類沒了:

project->add to project ->files

6,使用pi

include math.h

#define _use_math_defines

#include "math.h"

則 m_pi 就是pi了

7,請問怎樣可以獲得分割槽的卷標??

char buf[max_path];

getvolumeinformation("c://", buf, max_path, null, null, null, null,

null);

afxmessagebox(buf);

8,開啟乙個網頁

9,關閉時,彈出對話方塊讓使用者確認

void cmainframe::onclose()

if(idok != messagebox("你要退出嗎?點確定退出","你要退出

嗎?",mb_okcancel))

return ;

cframewnd::onclose();

10,選單小問題

id_file_open

在資源accelerator中為:

id key

id_file_open ctrl+o

表示在程式中按ctrl+o組合鍵啟用開啟選單(如果檔案選單開啟了,就無效).

在資源menu中為:

id_file_open的標題為開啟(&o).../tctrl+o

&o表示當它的父選單(檔案選單)被開啟後,o啟用檔案選單.

11,sizeof有問題??

class b

bool a;

bool c;

int b;

}; // sizeof (b) == 8

布局:

1 2 3 4

bool bool 填充 填充

1 2 3 4

int ...............

一目了然.:)

這個時候編譯器只在c後插入兩個填充位元組,因為b佔四個位元組,所以自動的以乙個

字的二進位制來填充.

這是編譯器的對齊問題,只要在前面加入

#pragma 1

使得按乙個byte對齊就可以了.

VC雕蟲小技集 一

vc雕蟲小技集 一 何志丹1,避免隨機數相同,可以取當前時間,讀檔案,讀任意記憶體 如未定義變數,有一定危險 ctime t ctime getcurrenttime int n t.getminute 60 t.getsecond while n 0 const int n 100 int res...

VC雕蟲小技集 六

vc 共享樂園 vc雕蟲小技集 六 何志丹 1,如何取得tree control上的checkbox狀態 oninit中加 m treectrl.insertitem item1 m treectrl.insertitem item2 void ccdialogdlg onbutton1 htree...

VC程式設計技巧錦集

問題一 解決workspace中的classview顯示混亂 解答 即新增的成員變數或函式不能顯示 即使顯示出來了變數或函式,雙擊後不能跳至正確的位置。刪除.ncb檔案,再rebuild all,即可。問題二 向專案中加入自己定義的類的簡單方法 解答 選擇insert new class選單,彈出對...