Time of Update: 2018-12-03
基本思路為,尋找開始功能表按鈕視窗,並類比使用者單擊void pop() { User32.EnumWindows(new EnumProc(Enum), 0); } private bool Enum(IntPtr hWnd, uint param) { User32.STRINGBUFFER buffer=new User32.STRINGBUFFER(); User32.GetClassName(hWnd, ref buffer, 256); if
Time of Update: 2018-12-03
1、如何獲得一個視窗的控制代碼?例如擷取視窗PictureBox控制項(其他控制項也可以)的控制代碼,IntPtr handle = pictureBox.Handle;2、注意:視窗建立和視窗建立完畢即有控制代碼完全是兩回事!!!視窗建立時,視窗並沒有建立控制代碼,只有Application.Run(form)或者form.Show()之後才有控制代碼,即視窗只有顯示或者啟動訊息迴圈後才有控制代碼!如果建立form之後Form form = new
Time of Update: 2018-12-03
form1,form2,form3是form0的子表單。 主表單form0的工具列toolbar1中有三個按鈕Toolbutton1,Toolbutton2,Toolbutton3; 點擊Toolbutton1開啟form1子表單,點擊Toolbutton2開啟form2子表單,點擊Toolbutton3開啟form3子表單; 要加入什麼代碼,可以實現這樣的功能:
Time of Update: 2018-12-03
有時候我們需要在子表單顯示的時候就是最大化(也就是填充了整個父表單),但通常會遇到以下麻煩:如果在 Visual Studio 裡通過屬性工具列設定了子表單的 WindowState 為 Maximized,然後在運行過程中會發現子表單執行個體化時不會最大化,而是當改變了父表單的大小之後才隨即最大化。而通過在子表單的構造器裡添加代碼的方式也無濟於事。解決辦法:取消設定 WindowState 的值(改回預設的 Normal
Time of Update: 2018-12-03
某些情況下,我們不只是單一的從主視窗調用子視窗,在現在我們所能使用到的,所能看到的軟體裡面,很多軟體都引入了從子視窗調用主視窗的例子。這裡就不一一列舉了啊!從主視窗調用子視窗相信很多人都會做了!基本代碼如下: Form2 form2=new Form2(); //其中Form2是子視窗 form2.Show();假如我們現在要執行一個在調用子視窗的同時隱藏主視窗,當子視窗關閉時顯示隱藏了的主視窗,當然這個在主視窗的代碼很好實現,代碼如下:Form2 form2=new Form2(); /
Time of Update: 2018-12-03
在我的《MDI表單相互調用一》文章中已經說明白了如何讓MDI視窗之間相互調用了。但是在上篇文章中使用的方法是用到了”參考型別“的基本特性,下面這種方法,我用類的定義來完成上述功能。一般來說,我不贊成大家使用我的第二種方法,這裡寫道的第二中方法只是和大家一起探討!我的第二種方法是(假設主視窗為Form1,子視窗為Form2)在主表單中什麼都不需要變化仍然使用如下代碼實現子表單顯示時,主表單隱藏:Form2 form2=new Form2(this);
Time of Update: 2018-12-03
我們在做winform應用的時候,大部分情況下都會碰到使用多線程式控制制介面上控制項資訊的問題。然而我們並不能用傳統方法來做這個問題,下面我將詳細的介紹。 首先來看傳統方法:public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender,
Time of Update: 2018-12-03
1、要解除windows xp防火牆對該命令的阻擾,需要在xp作業系統中“允許遠端管理”,具體方法如下:http://support.microsoft.com/kb/875605#6允許遠端管理1.單擊“開始”,單擊“運行”,鍵入 gpedit.msc,然後單擊“確定”。2.在“控制台根目錄”下,依次展開“電腦配置”、“系統管理範本”、“網路”、“網路連接”、“Windows 防火牆”,然後單擊“網域設定檔案”。3.按右鍵“Windows 防火牆: 允許遠端管理例外”,然後單擊“屬性”。4.
Time of Update: 2018-12-03
* sizeof三種形式sizeof(type name); //註:沒有sizeof typename 所以sizeof int 錯誤, 只能sizeof(int);sizeof(object); //sizeof(i_rec);sizeof object; //sizeof i_rec;當object為數組時,返回整個數組的長度,並不是元素的個數int ia[] = {2, 3, 4};int size = sizeof(ia);
Time of Update: 2018-12-03
隱式類型轉換1. 混合算術運算中,最寬的類型為目標轉換類型 int x = 2.32+2; //2被提升為double型2. 賦值運算中,被賦值對象為目標轉換類型 int x = 2.32+2 //2被提升為double型後,相加為4.32 double再轉換為int, 賦值給x, 注意小數位直接捨去。3. 函數調用參數中 double sqrt(double); sqrt(2); //會將2轉為double型4. 函數調用傳回值中 double
Time of Update: 2018-12-03
指標要注意類型的對應,不要出現類似 int * 轉向 int 的操作。int **p = 0; //指向指標的指標,不讓它指向任何地方int *p1 = *p;int array[10];int *p1 = array; //數組名指定數組首地址int *p1 = &array[0]; //指向第一個元素對應的地址字串的常見操作:遍曆串int string_length(const char *st){ int cnt = 0; if(st)
Time of Update: 2018-12-03
string是C++標準類中的字串類,可以用它代替C風格的字串操作,來減少指標等底層因素引起的錯誤。使用string類,標頭檔引用#i nclude <iostream>#i nclude <string.h>#if _MSC_VER > 1020using namespace std;#endif 其中,主要是要引用std名字空間。定義string str;string str = "abcd";string str("abcd");string str2(
Time of Update: 2018-12-03
我們都知道,文字檔和二進位檔案在電腦上面都是以0,1儲存的,那麼兩者怎麼還存在差別呢?我覺得,對於編程人員,文字檔和二進位檔案就是一個聲明,指明了你應該以什麼方式(文本方式/二進位)開啟這個檔案,用什麼函數讀寫這個檔案(讀寫函數),怎麼判斷讀到這個檔案結尾。具體的說:1。以哪種方式開啟一個檔案?ANSI C規定了標準輸入輸出函數庫,用fopen()函數開啟檔案。fopen()函數的調用方式一般為:FILE *fp;fp=fopen(檔案名稱,使用檔案方式);使用檔案方式見下表:使用檔案方式含義"
Time of Update: 2018-12-03
原型:void*memcpy(void*dest, const void*src,unsigned int count); 功能:由src所指記憶體地區複製count個位元組到dest所指記憶體地區。 說明:src和dest所指記憶體地區不能重疊,函數返回指向dest的指標。 舉例: // memcpy.c #include <stdlib.h> #include
Time of Update: 2018-12-03
自己總是用VC平台來開發東西,但是有時候總是出這樣那樣的問題,在這裡把Visual C++開發工具與調試技巧整理摘錄如下,希望對大家有用,省去大家再去搜尋的煩惱。 1.如何在Release狀態下進行調試 Project->Setting=>ProjectSetting對話方塊,選擇Release狀態。C/C++標籤中的Category選General,Optimizations選Disable(Debug),Debut info選Program
Time of Update: 2018-12-03
#include<iostream>using namespace std;void quicksort(int a[],int low,int high){ int povit=a[low];//中樞標籤 int i,j; i=low; j=high; if(i>=j)//用於判斷退出 return; while(i<j) { while(i<high && povit<a[j])j--;
Time of Update: 2018-12-03
Time of Update: 2018-12-03
(1)什麼是位元組對齊 一個變數佔用 n 個位元組,則該變數的起始地址必須能夠被 n 整除,即: 存放起始地址 % n = 0, 對於結構體而言,這個 n 取其成員種的資料類型占空間的值最大的那個。(2)為什麼要位元組對齊
Time of Update: 2018-12-03
以下的內容綜合了多篇文章,加上一點自己的理解而成。目的為了給自己閱讀他們文章後做一個筆記。在末尾給出了這些文章的地址。 多態的實現可以採用以下幾種方式: (1)使用 vod * (萬能指標)來實現“編譯時間多態”。 (2)使用函數指標來實現“運行時多態”。 (3)使用型如struct struct_name{ ............................... char temp[0];
Time of Update: 2018-12-03
橋接模式關注如何設計抽象類別! 主要目的是把一個抽象類別與其抽象操作的實現進行分離。