• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 16,  comments - 81,  trackbacks - 0
              置頂隨筆
            onedouble.cnblogs.com
            posted @ 2012-05-20 21:41 叫我老王吧 閱讀(412) | 評(píng)論 (0)編輯 收藏
                    因?yàn)楣P者是以前是做C#的,對(duì)Winform情有獨(dú)鐘,最近想轉(zhuǎn)C++,想把以前的一些Delphi轉(zhuǎn)成c++,MFC我不熟而且用起來(lái)相當(dāng)煩效果又丑,GTK圖形庫(kù)用起來(lái)太麻煩,琢磨著研究一下WInform前臺(tái),C++做后臺(tái)的方法,谷歌了一下,沒(méi)看到什么中國(guó)資料,我草,我以前看過(guò)的啊,找來(lái)找去,找到一篇英文的,寫(xiě)得太糾結(jié),我結(jié)合自己使用的經(jīng)驗(yàn),重新整理一下,言簡(jiǎn)意賅,簡(jiǎn)明易懂。謹(jǐn)供新人參考,老鳥(niǎo)勿拍。
                  
            1. 首先打開(kāi)你的VS2005
            2. 依次點(diǎn)擊菜單欄的文件-->新建-->項(xiàng)目
            3. 在左邊的語(yǔ)言列表選里,選擇C++分支下的CLR,然后在右邊單擊“CLR 空項(xiàng)目”
            4. 在名稱(chēng)框里輸入Exercise2:
            5. 點(diǎn)擊“OK”,創(chuàng)建項(xiàng)目成功。
            6. 好了,這只是創(chuàng)建了好了一個(gè)托管C++項(xiàng)目,要使用WINFORM,我們要引入相關(guān)的.NET組件。
            7. 在vs主界面上依次點(diǎn)擊菜單欄的項(xiàng)目-->"引用";
            8. 在彈出的子窗口中選擇添加新引用;
            9. 在.NET標(biāo)簽頁(yè)下選擇System,點(diǎn)確定,再點(diǎn)擊添加新應(yīng)用,在.NET標(biāo)簽頁(yè)下選擇System.Window.Forms,然后確定,如圖
            10. 都完成后,應(yīng)該像這樣,然后點(diǎn)擊確定
            11. 創(chuàng)建一個(gè)新的類(lèi),點(diǎn)擊VS主界面菜單欄的項(xiàng)目-->添加類(lèi);
            12. 在彈出的子窗體右邊選擇C++類(lèi),點(diǎn)確定,會(huì)出現(xiàn)添加類(lèi)向?qū)В陬?lèi)名中輸入CExercise,基類(lèi)中填Form
            13. 然后我們來(lái)到自動(dòng)生成的頭文件代碼中,添加System和Form的引用,修改后的文件應(yīng)該如下
            14.  1
               2#pragma once
               3
               4using namespace System;
               5using namespace System::Windows::Forms;
               6
               7public ref class CExercise : public Form
               8{
               9public:
              10    CExercise(void);
              11}
              ;

              然后我們要?jiǎng)?chuàng)建一個(gè)主程序來(lái)調(diào)用這個(gè)類(lèi)。這個(gè)大家應(yīng)該都比我熟的,右擊源文件文件夾,點(diǎn)擊添加-->新建項(xiàng),選擇CPP文件,代碼如下:
            15.  1
               2
               3#include <windows.h>
               4#include "Exercise.h"
               5
               6int APIENTRY WinMain(HINSTANCE hInstance,
               7             HINSTANCE hPrevInstance,
               8             LPSTR lpCmdLine,
               9             int nCmdShow)
              10{
              11    Application::Run(gcnew CExercise());
              12
              13    return 0;
              14}

              含義我不多說(shuō)了,把那個(gè)Cexercise換成你自己別的名字的類(lèi)就可以運(yùn)行那個(gè)類(lèi)了,當(dāng)然了,要注意包含頭文件。點(diǎn)擊運(yùn)行看看,一個(gè)白白的窗體,對(duì)嗎,好的,革命成功邁出了堅(jiān)實(shí)的一步。
            16. 下面我們來(lái)試著添加一個(gè)button按鈕,修改Exercise.cpp的代碼如下
            17. 1
              2#include "Exercise.h"
              3
              4CExercise::CExercise(void)
              5{
              6    System::Windows::Forms::Button^  button1=gcnew Button;//創(chuàng)建按鈕
              7    this->Controls->Add(button1);//把按鈕附加到我們的窗體上
              8}

              9

              在運(yùn)行看看,應(yīng)該像這樣
            18. 然后如果你還想繼續(xù)給這個(gè)按鈕添加文字設(shè)置尺寸什么的,你可以通過(guò)像這樣的代碼,具體我不說(shuō)多少,因?yàn)檫x擇Winform就是看中快速的控件拖拉功能,都是手寫(xiě)我還不如用GTK
            19. this->button1->Name = L"button1";//設(shè)置按鈕文字
              this->button1->Size = System::Drawing::Size(7523);//設(shè)置按鈕尺寸

            20. 好了,下面重點(diǎn)來(lái)了,如何像C#一樣自由地拖拉控件改屬性呢,我們右擊項(xiàng)目,選擇添加-->新建項(xiàng)。
            21. 在彈出的子窗體右邊選擇Windows窗體,輸入一個(gè)名字,比如“HelloWorld”,點(diǎn)擊確定
            22. 然后我們就欣喜的發(fā)現(xiàn),哇,又回到Winform拖拉控件的時(shí)代啦,是的,沒(méi)錯(cuò),而且我們可以以C++寫(xiě)后臺(tái)。沒(méi)用過(guò)c#的朋友請(qǐng)?jiān)诮缑嫔险艺夜ぞ呦洌瑢?shí)在沒(méi)找到請(qǐng)依次點(diǎn)擊主窗體上菜單欄的視圖-->工具箱,然后從工具箱里找到一個(gè)button控件拖動(dòng)到主窗體上。
            23. 之后雙擊這個(gè)button,會(huì)自動(dòng)添加一個(gè)button的單擊事件,我們希望單擊的時(shí)候彈出一個(gè)“我是傻逼”的消息框,代碼如下:
            24. 1    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
              2                 //MessageBox.Show(this,"wocao");//C#格式的調(diào)用方法是不行的
              3                 MessageBox::Show(this,"我是傻逼");//這才是正確的
              4         }

              5    };
              6}

            25. 第一個(gè)參數(shù)是父窗體,第二個(gè)參數(shù)是消息框的內(nèi)容。細(xì)心的同學(xué)發(fā)現(xiàn)了,這里和C#不太一樣,是的,如果你按C#的寫(xiě)法:Messsage.Show(...),這樣程序是沒(méi)法通過(guò)編譯的,畢竟是兩種語(yǔ)言嘛。
            26. 好了,我們回到主程序入口那里,修改Exercise()為HelloWorld(),運(yùn)行看看,出錯(cuò)了!!沒(méi)錯(cuò),你還得添加頭文件,添加引用,真是麻煩啊,沒(méi)辦法,這兒還沒(méi)有在C#下的引用添加提示,不知道Clipse下的Cdt有沒(méi)有這個(gè)功能,最終代碼如下
               1#include <windows.h>
               2#include "Hello World.h"
               4using namespace WInformCpp;
               5int APIENTRY WinMain(HINSTANCE hInstance,
               6                     HINSTANCE hPrevInstance,
               7                     LPSTR lpCmdLine,
               8                     int nCmdShow)
               9{
              10    Application::Run(gcnew HelloWorld());
              11
              12    return 0;
              13}

              好了,運(yùn)行一下看看。像這樣,那就對(duì)了,再深入地使用就不是本貼討論的范疇了,在C++上,各位都是我的前輩
            posted @ 2010-12-16 22:23 叫我老王吧 閱讀(38806) | 評(píng)論 (27)編輯 收藏
                 摘要:                           Lesson 1: Getting Started with Direct3D Les...  閱讀全文
            posted @ 2010-11-11 11:57 叫我老王吧 閱讀(2994) | 評(píng)論 (14)編輯 收藏
             1GtkTreeIter iter;//定義一個(gè)迭代器
             2    GtkTreeModel *pmodel;
             3    char* pitem;
             4    pmodel=gtk_tree_view_get_model(GTK_TREE_VIEW1));//得到TREEVIEW的model
             5    gtk_tree_model_get_iter_first(pmodel,&iter);//迭代器定位到第一行
             6    int columns=gtk_tree_model_get_n_columns(pmodel);//獲取行數(shù)
             7    
             8    //獲取列名
             9    for(int i=0;i<columns;i++)
            10    {
            11        GtkTreeViewColumn *column = gtk_tree_view_get_column(GTK_TREE_VIEW(control),i);//遍歷header
            12        string coltitle(__(gtk_tree_view_column_get_title(column),1));
            13        cout<<coltitle;//輸出列名
            14    }
                        
            15        
            16    do//開(kāi)始遍歷內(nèi)容
            17    {
            18        for(int i=0;i<columns;i++)
            19            {
            20                gtk_tree_model_get (GTK_TREE_MODEL(pmodel),&iter,
            21                i,        &pitem,
            22                -1);//將指定單元格的值傳給pitem
            23                try
            24                {
            25                    cout<<pitem;//輸出單元格的值
            26                }
            catch{}
            27            }

            28    }
            while(gtk_tree_model_iter_next(pmodel,&iter));
            唉,網(wǎng)上找了半天,沒(méi)找到思路,只有自己慢慢啃了,寫(xiě)完發(fā)一下,給需要的朋友一些借鑒

            posted @ 2010-06-25 11:57 叫我老王吧 閱讀(3945) | 評(píng)論 (0)編輯 收藏
              2012年9月8日
            doubanclaime6cc4cf3a22a7877 
            posted @ 2012-09-08 13:02 叫我老王吧 閱讀(404) | 評(píng)論 (0)編輯 收藏
              2012年5月20日
            onedouble.cnblogs.com
            posted @ 2012-05-20 21:41 叫我老王吧 閱讀(412) | 評(píng)論 (0)編輯 收藏
              2011年2月24日
                 摘要:         首先向大家道歉自3出了以后隔這么久才出4,一方面過(guò)年期間我天天在外面走親戚,另一方面我最近確實(shí)有些消沉,我不是個(gè)會(huì)太監(jiān)的人,卻總是有時(shí)會(huì)陷入一種消沉的狀態(tài),因?yàn)橄霃能浖袠I(yè)轉(zhuǎn)型,碰了許多壁,關(guān)起門(mén)來(lái)看龍書(shū)和算法導(dǎo)論,基本保持不上網(wǎng)狀態(tài),偶爾手機(jī)上上人人網(wǎng)分享點(diǎn)日志。    &nbs...  閱讀全文
            posted @ 2011-02-24 00:46 叫我老王吧 閱讀(3904) | 評(píng)論 (4)編輯 收藏
              2010年12月27日
                 摘要: 課程概述 如果您已經(jīng)通過(guò)前兩課教程進(jìn)展至斯,您現(xiàn)在可以開(kāi)始了寫(xiě)3D程序了。 然而,3D編程不是像土匪斗惡霸那么簡(jiǎn)單。它是嚴(yán)格的數(shù)學(xué),你必須了解三維數(shù)學(xué)概念,才能寫(xiě)好3D程序。 不要擔(dān)心這沒(méi)什么復(fù)雜的。 我保證您不會(huì)在數(shù)學(xué)上花費(fèi)比學(xué)C + +更多的時(shí)間。 這一課是純理論課。 我們將在下一課中實(shí)踐我們的理論。 在這一課中我們將介...  閱讀全文
            posted @ 2010-12-27 20:02 叫我老王吧 閱讀(2731) | 評(píng)論 (5)編輯 收藏
              2010年12月22日
                
                寫(xiě)這篇是受兩位前輩撰文感染,一時(shí)有感而發(fā),立此存照,立志十年之后也能成為這樣的大神。
                空明流轉(zhuǎn)和VCZH是CppBlog里我景仰的僅有的幾名大神之二,雖然后者未必知道我是誰(shuí)。但是空明前輩,是時(shí)有給我指點(diǎn)的,我的QQ空間,我自己是不常去的,然而空明前輩總是熱心地回復(fù)指出我的狀態(tài)的傻逼之處,使我常心懷感激,恨不能以身相許。

               
                96年的時(shí)候我上小學(xué)三年級(jí),在小霸王上用FBasic敲出了我的HelloWorld,那時(shí)候還在舊書(shū)市場(chǎng)弄了本計(jì)算機(jī)雜志的合訂本回來(lái)練習(xí),差不多同一時(shí)期空明流轉(zhuǎn)和云風(fēng)也在折騰小霸王上的Basic,但是十年之后我的編程水平并沒(méi)有比這長(zhǎng)進(jìn)多少,而他們?cè)缫扬L(fēng)馳電掣呼嘯而過(guò)連項(xiàng)背都望不到了。

                2000年的時(shí)候我在社區(qū)中學(xué)上初中,初二的時(shí)候第一次開(kāi)了計(jì)算機(jī)課,教材倒是蠻新,和省城南京的一個(gè)版本,但對(duì)于大部分同學(xué)這本教材更大的意義在于拿回家墊桌腳,因?yàn)槔蠋熣f(shuō):“同學(xué)們,由于本校的經(jīng)費(fèi)有限,我們的機(jī)器只有DOS,所以本學(xué)期我們學(xué)習(xí)FoxBase和WPS”。后來(lái)我很感謝這位老師,因?yàn)檫@些DOS命令為我以后玩命令行奠定了不錯(cuò)的基礎(chǔ)。    
                那是一個(gè)純真的年代,李剛每天下了班騎自行車(chē)接兒子,冠希還沒(méi)學(xué)會(huì)用相機(jī),菊花還是用來(lái)欣賞的,而我----上課前預(yù)習(xí),課上認(rèn)真聽(tīng)講,課后認(rèn)真復(fù)習(xí),沒(méi)有機(jī)器練習(xí)我就死記硬背命令。所以我的考試也總是A,但是我的同學(xué)都BS我,因?yàn)槿ゾW(wǎng)吧玩98我就是個(gè)凹凸曼,QQ不會(huì)聊,傳奇賬號(hào)不會(huì)申請(qǐng)(實(shí)在是我不知道郵箱地址的格式),他們最為津津樂(lè)道的是我第一次的時(shí)候都不知道怎么開(kāi)機(jī)。但他們永遠(yuǎn)不會(huì)知道更傻逼的是我每次敲網(wǎng)址前都會(huì)加"http://".
                這三年有三件值得紀(jì)念的事兒。一件是計(jì)算機(jī)二級(jí),好像是Basic語(yǔ)言的,五個(gè)人去培訓(xùn)四個(gè)人考試參加,我是那個(gè)1/5,我沒(méi)錢(qián),家里不支持我搞計(jì)算機(jī);一件是Cdida編程比賽,我用父親單位的電腦完成了作品但是提交以后這件事就杳無(wú)音訊了。一件是我把那本省城的書(shū)啃了兩遍也沒(méi)學(xué)會(huì)VB,我完全無(wú)法理解那些圖形化的控件是個(gè)什么玩意兒。   

                03年的時(shí)候我來(lái)到一所不好不壞的高中,無(wú)論怎么看,這時(shí)候的我都只是電腦盲,電腦盲,還是電腦盲!當(dāng)時(shí)有同學(xué)脖子上優(yōu)盤(pán),我都不知道那是什么。
                高一的這一年,我學(xué)會(huì)了人生中第一重要的技能----申請(qǐng)電子郵箱。后來(lái)呢,后來(lái)沒(méi)有了,一切為了應(yīng)試,所以讓你上一學(xué)期計(jì)算機(jī)已經(jīng)很給你們面子了。這是不是讓人覺(jué)得很操蛋,然而更加操蛋的是我發(fā)現(xiàn)我們的高中教材就是初中教材的重印版,what a fucking hell!
                下學(xué)期的我,每日徘徊于學(xué)校網(wǎng)吧和Home,苦練War3夢(mèng)想著有一天能像MagicYang一樣站在領(lǐng)獎(jiǎng)臺(tái)上。在某一個(gè)陽(yáng)光不記得明媚或是不明媚,春意不知道盎然不盎然的下午,我照常來(lái)到報(bào)刊亭買(mǎi)游戲雜志,偶然間發(fā)現(xiàn)了一本《黑客防線(xiàn)》。在那時(shí)候的黑客在我看來(lái)是個(gè)多么神秘而高尚的職業(yè)了,尤其我還是個(gè)從小夢(mèng)想搶銀行的。當(dāng)時(shí)我毫不猶豫買(mǎi)下了他,事后我發(fā)現(xiàn)我基本看不懂,再后來(lái)我在市圖書(shū)館辦了張卡一看就是兩年,黑客牽涉的知識(shí)面太廣,不惡補(bǔ)基礎(chǔ)知識(shí)不行啊。
                我高中的后兩年生活就是每天拿著計(jì)算機(jī)類(lèi)的書(shū)放在桌上認(rèn)真地一頁(yè)一頁(yè)看完,還摘抄了三本筆記,因?yàn)楫?dāng)時(shí)各種教輔很多,我又裝得泰然自若,兩年間居然沒(méi)有被老師發(fā)現(xiàn)。
                高中三年,我從一個(gè)連內(nèi)存和硬盤(pán)都分不清的小菜鳥(niǎo)成長(zhǎng)為一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)網(wǎng)絡(luò)內(nèi)存PE匯編都懂一點(diǎn)皮毛的大菜鳥(niǎo),雖然看起來(lái)沒(méi)什么直接用處,但是后來(lái)這些對(duì)于我學(xué)別的東西都有大的裨益。
                這期間,我再一次想嘗試學(xué)會(huì)VB編程,結(jié)果仍然失敗了,我沒(méi)有再繼續(xù)去碰壁,因?yàn)槲覍W(xué)會(huì)了Delphi,后來(lái)我把網(wǎng)吧的某一臺(tái)機(jī)器還原卡卸了,專(zhuān)門(mén)拿來(lái)練習(xí)Delphi,但其實(shí)我也只是把書(shū)上的代碼敲一遍,自己替換點(diǎn)細(xì)節(jié)而已,而且這時(shí)候,離高考已經(jīng)不遠(yuǎn)了。
                就這樣我以荒廢了兩年的學(xué)習(xí)迎接高考,其實(shí)我覺(jué)得這沒(méi)什么,我就算認(rèn)真學(xué)習(xí)也沒(méi)多大用,我偏科太嚴(yán)重了,有兩門(mén)分?jǐn)?shù)加起來(lái)還沒(méi)其他一門(mén)高。
                06年我考上了一所民辦二本,剛來(lái)的時(shí)候我感慨省城就是不一樣,我同宿舍的南京小伙子王帥,會(huì)VB會(huì)做視頻會(huì)FireWorks,人又十分謙虛,才看到王帥的時(shí)候,驚艷啊!怎么會(huì)有那么牛逼的人呢?現(xiàn)在想想,不是那個(gè)人牛逼,而是我實(shí)在太傻逼了。當(dāng)時(shí)學(xué)校里各種PS,視頻高人,學(xué)校外的VCZH已經(jīng)寫(xiě)出了一個(gè)面向?qū)ο髱0搴屠占撵o態(tài)類(lèi)型腳本語(yǔ)言,而我除了盜號(hào)殺毒寫(xiě)木馬一無(wú)是處。
                兩年后我發(fā)現(xiàn)這個(gè)學(xué)校除了我同宿舍的王帥,其他人連動(dòng)態(tài)語(yǔ)言是什么都不知道。我把這歸咎于我們學(xué)校沒(méi)有網(wǎng)絡(luò),四年后南京多所高校用不招我們學(xué)校的計(jì)算機(jī)研究生的事實(shí)證明了我的觀點(diǎn)。
                而那位王帥同學(xué),他致力于做網(wǎng)絡(luò)工程師而不是程序員,于是我繼續(xù)在一條孤獨(dú)的路上摸著石頭。
                大三上的時(shí)候我去了一家電視臺(tái)兼職做網(wǎng)站,初認(rèn).net的時(shí)候?qū)γ嫦驅(qū)ο笥悬c(diǎn)抵觸,因?yàn)楫?dāng)時(shí)我的底子是面向過(guò)程的PHP,但后來(lái)漸漸地喜歡上了面向?qū)ο蟆?br>    就這樣,大學(xué)四年,我和同一時(shí)期其他學(xué)校的人差距越來(lái)越大,四年間,除了軟件工程,其他水平都基本沒(méi)有長(zhǎng)進(jìn),MIS,MIS,還是MIS,永遠(yuǎn)是沒(méi)有技術(shù)含量的MIS.

                壹
                10年的1月,我去前任公司南京分公司面試,大抵那面試官看我這娃天庭飽滿(mǎn),星眉朗目,就把我推薦到了上海總部。做POS機(jī),哇,那個(gè)項(xiàng)目嚇人啊,40W的代碼,當(dāng)時(shí)我就被鎮(zhèn)住了,我就面了這么一家就定下來(lái)了。現(xiàn)在想想,代碼真的不是越多越好,一個(gè)函數(shù)幾千行,UI邏輯數(shù)據(jù)庫(kù)全寫(xiě)一塊有意思嗎?不分層無(wú)架構(gòu)沒(méi)幾個(gè)文檔,這還沒(méi)我?guī)F(tuán)的時(shí)候規(guī)范呢。
                但是不管怎么說(shuō),是這家公司讓我開(kāi)始用C,繼而開(kāi)始學(xué)習(xí)C++,否則我應(yīng)該會(huì)一直做.NET吧。畢業(yè)論文的時(shí)候玩了一把HTML5,從此跟Web分道揚(yáng)鑣。
                這一年里,我加了S*****的群,認(rèn)識(shí)了空明流轉(zhuǎn)和Vczh,但是不敢多說(shuō)話(huà),否則我把這個(gè)群的水平拖低了,只會(huì)讓睪獸們罵累了之后直接把群Mask,不再說(shuō)話(huà)。對(duì)誰(shuí)都沒(méi)好處。能看書(shū)就看書(shū),不行再GOOGLE,一般也就能解決了
                我一直有一個(gè)夢(mèng)想,把我的那些小說(shuō)拍成電影,但是條件不足,所以我想做游戲,因?yàn)檫@里的演員道具幾乎沒(méi)有成本。雖然空明前輩勸過(guò)我,但是我想除了這個(gè)因素外,其實(shí)選擇行業(yè)的一個(gè)因素也在于這個(gè)行業(yè)里的人,我是不想整天跟一群穿西裝打領(lǐng)帶的人打交道了。
                感謝兩位前輩在十年里提供的好書(shū)。
                最后我要感謝一下C****群的Effo翔,雖然剛認(rèn)識(shí)不久,但是謝謝你對(duì)我的熱情幫助和諸多指導(dǎo)這段離職學(xué)習(xí)的日子還要多多叨擾你了。

                今年算是我正式轉(zhuǎn)圖形學(xué)第一年,謹(jǐn)以此篇自勉,此志不移,便可憾山。
            posted @ 2010-12-22 13:52 叫我老王吧 閱讀(2832) | 評(píng)論 (29)編輯 收藏
              2010年12月16日
                    因?yàn)楣P者是以前是做C#的,對(duì)Winform情有獨(dú)鐘,最近想轉(zhuǎn)C++,想把以前的一些Delphi轉(zhuǎn)成c++,MFC我不熟而且用起來(lái)相當(dāng)煩效果又丑,GTK圖形庫(kù)用起來(lái)太麻煩,琢磨著研究一下WInform前臺(tái),C++做后臺(tái)的方法,谷歌了一下,沒(méi)看到什么中國(guó)資料,我草,我以前看過(guò)的啊,找來(lái)找去,找到一篇英文的,寫(xiě)得太糾結(jié),我結(jié)合自己使用的經(jīng)驗(yàn),重新整理一下,言簡(jiǎn)意賅,簡(jiǎn)明易懂。謹(jǐn)供新人參考,老鳥(niǎo)勿拍。
                  
            1. 首先打開(kāi)你的VS2005
            2. 依次點(diǎn)擊菜單欄的文件-->新建-->項(xiàng)目
            3. 在左邊的語(yǔ)言列表選里,選擇C++分支下的CLR,然后在右邊單擊“CLR 空項(xiàng)目”
            4. 在名稱(chēng)框里輸入Exercise2:
            5. 點(diǎn)擊“OK”,創(chuàng)建項(xiàng)目成功。
            6. 好了,這只是創(chuàng)建了好了一個(gè)托管C++項(xiàng)目,要使用WINFORM,我們要引入相關(guān)的.NET組件。
            7. 在vs主界面上依次點(diǎn)擊菜單欄的項(xiàng)目-->"引用";
            8. 在彈出的子窗口中選擇添加新引用;
            9. 在.NET標(biāo)簽頁(yè)下選擇System,點(diǎn)確定,再點(diǎn)擊添加新應(yīng)用,在.NET標(biāo)簽頁(yè)下選擇System.Window.Forms,然后確定,如圖
            10. 都完成后,應(yīng)該像這樣,然后點(diǎn)擊確定
            11. 創(chuàng)建一個(gè)新的類(lèi),點(diǎn)擊VS主界面菜單欄的項(xiàng)目-->添加類(lèi);
            12. 在彈出的子窗體右邊選擇C++類(lèi),點(diǎn)確定,會(huì)出現(xiàn)添加類(lèi)向?qū)В陬?lèi)名中輸入CExercise,基類(lèi)中填Form
            13. 然后我們來(lái)到自動(dòng)生成的頭文件代碼中,添加System和Form的引用,修改后的文件應(yīng)該如下
            14.  1
               2#pragma once
               3
               4using namespace System;
               5using namespace System::Windows::Forms;
               6
               7public ref class CExercise : public Form
               8{
               9public:
              10    CExercise(void);
              11}
              ;

              然后我們要?jiǎng)?chuàng)建一個(gè)主程序來(lái)調(diào)用這個(gè)類(lèi)。這個(gè)大家應(yīng)該都比我熟的,右擊源文件文件夾,點(diǎn)擊添加-->新建項(xiàng),選擇CPP文件,代碼如下:
            15.  1
               2
               3#include <windows.h>
               4#include "Exercise.h"
               5
               6int APIENTRY WinMain(HINSTANCE hInstance,
               7             HINSTANCE hPrevInstance,
               8             LPSTR lpCmdLine,
               9             int nCmdShow)
              10{
              11    Application::Run(gcnew CExercise());
              12
              13    return 0;
              14}

              含義我不多說(shuō)了,把那個(gè)Cexercise換成你自己別的名字的類(lèi)就可以運(yùn)行那個(gè)類(lèi)了,當(dāng)然了,要注意包含頭文件。點(diǎn)擊運(yùn)行看看,一個(gè)白白的窗體,對(duì)嗎,好的,革命成功邁出了堅(jiān)實(shí)的一步。
            16. 下面我們來(lái)試著添加一個(gè)button按鈕,修改Exercise.cpp的代碼如下
            17. 1
              2#include "Exercise.h"
              3
              4CExercise::CExercise(void)
              5{
              6    System::Windows::Forms::Button^  button1=gcnew Button;//創(chuàng)建按鈕
              7    this->Controls->Add(button1);//把按鈕附加到我們的窗體上
              8}

              9

              在運(yùn)行看看,應(yīng)該像這樣
            18. 然后如果你還想繼續(xù)給這個(gè)按鈕添加文字設(shè)置尺寸什么的,你可以通過(guò)像這樣的代碼,具體我不說(shuō)多少,因?yàn)檫x擇Winform就是看中快速的控件拖拉功能,都是手寫(xiě)我還不如用GTK
            19. this->button1->Name = L"button1";//設(shè)置按鈕文字
              this->button1->Size = System::Drawing::Size(7523);//設(shè)置按鈕尺寸

            20. 好了,下面重點(diǎn)來(lái)了,如何像C#一樣自由地拖拉控件改屬性呢,我們右擊項(xiàng)目,選擇添加-->新建項(xiàng)。
            21. 在彈出的子窗體右邊選擇Windows窗體,輸入一個(gè)名字,比如“HelloWorld”,點(diǎn)擊確定
            22. 然后我們就欣喜的發(fā)現(xiàn),哇,又回到Winform拖拉控件的時(shí)代啦,是的,沒(méi)錯(cuò),而且我們可以以C++寫(xiě)后臺(tái)。沒(méi)用過(guò)c#的朋友請(qǐng)?jiān)诮缑嫔险艺夜ぞ呦洌瑢?shí)在沒(méi)找到請(qǐng)依次點(diǎn)擊主窗體上菜單欄的視圖-->工具箱,然后從工具箱里找到一個(gè)button控件拖動(dòng)到主窗體上。
            23. 之后雙擊這個(gè)button,會(huì)自動(dòng)添加一個(gè)button的單擊事件,我們希望單擊的時(shí)候彈出一個(gè)“我是傻逼”的消息框,代碼如下:
            24. 1    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
              2                 //MessageBox.Show(this,"wocao");//C#格式的調(diào)用方法是不行的
              3                 MessageBox::Show(this,"我是傻逼");//這才是正確的
              4         }

              5    };
              6}

            25. 第一個(gè)參數(shù)是父窗體,第二個(gè)參數(shù)是消息框的內(nèi)容。細(xì)心的同學(xué)發(fā)現(xiàn)了,這里和C#不太一樣,是的,如果你按C#的寫(xiě)法:Messsage.Show(...),這樣程序是沒(méi)法通過(guò)編譯的,畢竟是兩種語(yǔ)言嘛。
            26. 好了,我們回到主程序入口那里,修改Exercise()為HelloWorld(),運(yùn)行看看,出錯(cuò)了!!沒(méi)錯(cuò),你還得添加頭文件,添加引用,真是麻煩啊,沒(méi)辦法,這兒還沒(méi)有在C#下的引用添加提示,不知道Clipse下的Cdt有沒(méi)有這個(gè)功能,最終代碼如下
               1#include <windows.h>
               2#include "Hello World.h"
               4using namespace WInformCpp;
               5int APIENTRY WinMain(HINSTANCE hInstance,
               6                     HINSTANCE hPrevInstance,
               7                     LPSTR lpCmdLine,
               8                     int nCmdShow)
               9{
              10    Application::Run(gcnew HelloWorld());
              11
              12    return 0;
              13}

              好了,運(yùn)行一下看看。像這樣,那就對(duì)了,再深入地使用就不是本貼討論的范疇了,在C++上,各位都是我的前輩
            posted @ 2010-12-16 22:23 叫我老王吧 閱讀(38806) | 評(píng)論 (27)編輯 收藏
              2010年12月15日
                 摘要:   閱讀全文
            posted @ 2010-12-15 23:54 叫我老王吧 閱讀(2374) | 評(píng)論 (0)編輯 收藏
              2010年11月11日
                 摘要:                           Lesson 1: Getting Started with Direct3D Les...  閱讀全文
            posted @ 2010-11-11 11:57 叫我老王吧 閱讀(2994) | 評(píng)論 (14)編輯 收藏
              2010年10月18日
            今天正好有這個(gè)需求,順手搜了一下,又不是那么符合我的需要,于是自己隨手寫(xiě)了個(gè)新的,把代碼最小化了

             1
             2  GtkListStore *list_store = gtk_list_store_new (2, GTK_TYPE_POINTER,G_TYPE_STRING);//新建一個(gè)LISTSTORE
             3
             4  GtkWidget *tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (list_store));//新建一個(gè)TREEVIEW
             5
             6  GtkCellRenderer *cell = gtk_cell_renderer_toggle_new ();//定義CHECKBOX類(lèi)型
             7  g_signal_connect (cell, "toggled", G_CALLBACK (channel_toggled_cb),
             8            list_store);//綁定點(diǎn)擊事件(否則點(diǎn)了沒(méi)有勾)
             9  gtk_tree_view_insert_column(GTK_TREE_VIEW (tree_view),
            10                          -1"record",
            11                          cell);//在最左邊插入一列CHECKBOX
            至于具體的點(diǎn)擊事件,我就不貼了,比較簡(jiǎn)單
            posted @ 2010-10-18 15:20 叫我老王吧 閱讀(1179) | 評(píng)論 (0)編輯 收藏
              2010年10月6日

            11/09/2009

            大名鼎鼎的Zend公司在IT界的知名度是一路飆升啊,她是php的商業(yè)公司,隨著php在編程語(yǔ)言中越來(lái)越多的被使用,據(jù)本人不靈通的消息,自9月以來(lái),php已經(jīng)超越C++排名第三了,這真是一個(gè)振奮人心的消息,當(dāng)初選擇做php,此時(shí)此刻,也讓我感到值了!盡管如此,你不得不承認(rèn),php能拿到第三名的好成績(jī),一定是有我的貢獻(xiàn)的~!!那么有沒(méi)有一天,php能做到編程語(yǔ)言中的頭把交椅呢?我想不會(huì)的,如果你在哪里看到這個(gè)排行榜,那它一定是不權(quán)威的。

            OK,言歸正傳,出于很多同學(xué)認(rèn)為zend studio是官方網(wǎng)站的不正確認(rèn)知(主要表現(xiàn)就是向我索取zend server,zend Guard的注冊(cè)碼),我就來(lái)說(shuō)說(shuō)這個(gè)zend公司她到底是個(gè)什么東西,或許我把標(biāo)題改成《zend公司的那些事兒》,大概更能符合中國(guó)人的閱讀習(xí)慣。順便說(shuō)一下,zend studio是公益性民間站點(diǎn)

            由于zend公司的產(chǎn)品和php有著絕對(duì)的關(guān)系,然而其每個(gè)產(chǎn)品之間竟然也有這千絲萬(wàn)縷的聯(lián)系,這就是一個(gè)很值得稱(chēng)道的事情了,甚至和金庸的武俠小說(shuō)有異曲同工之妙。下面我們一一絮叨(排名不分先后,但zend studio排第一個(gè))。

            1、Zend Stduio

            這是我認(rèn)為zend公司唯一還有必要存在的真正原因,我厭煩了媒體一提到zend studio就照本宣科的道比“一個(gè)屢獲大獎(jiǎng)的專(zhuān)業(yè) PHP 集成開(kāi)發(fā)環(huán)境,具備功能強(qiáng)大的專(zhuān)業(yè)編輯工具和調(diào)試工具……”,雖然事實(shí)上確實(shí)是這么回事,zend studio確實(shí)是一個(gè)強(qiáng)大的php集成開(kāi)發(fā)環(huán)境,我選擇,我喜歡!但這里我想提醒下大家,zend studio是商業(yè)軟件。

            2、Zend Debugger

            總是介紹一個(gè)商業(yè)公司的商業(yè)產(chǎn)品,難免有打商業(yè)廣告之嫌,雖然我根本就不是一個(gè)商人,所以接下來(lái)我就馬上搬出zend debugger(我前不久剛好寫(xiě)了一篇zend debugger的終極安裝教程),zend debugger是zend公司為數(shù)不多的免費(fèi)產(chǎn)品,體積不大,安裝方便,功能也很強(qiáng)大,一般需要調(diào)試php程序的時(shí)候,裝上它就夠用了。

            3、Zend Server

            實(shí)際上我并沒(méi)有搞清楚zend server的真正意圖,據(jù)說(shuō)針對(duì)php做了專(zhuān)門(mén)的優(yōu)化,并且是商業(yè)軟件,但其不全是收費(fèi)的,只是部分組件(我大約在3個(gè)月前試用過(guò)zend server,記憶有些模糊),內(nèi)置的是apache服務(wù)器(當(dāng)然你可以不選擇內(nèi)置),雖然她集成了Zend Optimizer、Zend Guard Loader、Zend Data Cache、Zend Debugger、Zend Framework,但在我看來(lái)這和免費(fèi)的xampp沒(méi)有實(shí)質(zhì)性區(qū)別。很多同學(xué)問(wèn)我“安裝了zend studio是否一定要安裝zend server?”,回答是“安裝zend studio不一定要安裝zend server,因?yàn)樗麄冎g沒(méi)有必然的聯(lián)系”。我想,問(wèn)這個(gè)問(wèn)題的同學(xué),大概看了很早的zend studio介紹,那時(shí)候的zde還有分zend studio client和zend studio server,然后同學(xué)將zend studio server和zend server搞混了。你看,這篇日志的意義就顯現(xiàn)出來(lái)了。

            4、Zend Optimizer

            這又是zend 公司的免費(fèi)產(chǎn)品之一,Zend Optimizer的最大作用是解密解析被zend Guard加密了的php源文件,兼顧優(yōu)化php性能的作用,因此,您在部署服務(wù)器的時(shí)候?qū)end Optimizer順便安裝上沒(méi)有任何的壞處,當(dāng)然,如果你購(gòu)買(mǎi)了一份Zend Guard加密過(guò)的php源碼,那你就必須安裝她了。

            5、Zend Guard

            Zend Guard是一個(gè)非常有用的產(chǎn)品,當(dāng)然她也是一個(gè)商業(yè)軟件,如果你不打算將你的php代碼開(kāi)源,那么可以選擇Zend Guard來(lái)保護(hù)你的研究成果,最新版的寶馬5系,據(jù)說(shuō)強(qiáng)度不是一般的大,能夠在保護(hù)期內(nèi)安全不被破解。值得一提的是,用Zend Guard加密過(guò)了的php源代碼,在你的服務(wù)器環(huán)境中必須安裝Zend Optimizer來(lái)“正常運(yùn)行”之(看!金庸的大師風(fēng)范就彰顯出來(lái)了)。

            6、Zend Framework

            這又是zend 公司近年來(lái)的重要產(chǎn)品,php界Framework的興起,無(wú)疑的簡(jiǎn)化開(kāi)發(fā),提高效率,即“敏捷高效”四字方針,這個(gè)僅僅是程序員在開(kāi)發(fā)工作上的描述,而php的運(yùn)行效率性能上卻并非有質(zhì)的飛躍。因此,本人也不是非常崇尚框架,盡管?chē)?guó)內(nèi)的qeephp,thinkphp等著名框架發(fā)展的如火如荼,框架的追捧者也是如潮水一般,有個(gè)人依然我行我素的“坐以待斃”,他是——gently。然而Zend Framework并非一無(wú)是處,她是一個(gè)偉大的框架產(chǎn)品,發(fā)展穩(wěn)健,現(xiàn)在的用戶(hù)群也是蠻龐大的(中國(guó)人比較迷信官方,當(dāng)然也因?yàn)樗_實(shí)不錯(cuò))。Zend studio從寶馬7系開(kāi)始,已經(jīng)完美的支持zend Framework的開(kāi)發(fā)、調(diào)試運(yùn)行一條龍了。

            7、Zend Core

            直譯過(guò)來(lái)是zend核心,乍聽(tīng)起來(lái),你一定覺(jué)得這是個(gè)了不起的產(chǎn)品。實(shí)際上,你的感覺(jué)是對(duì)的,zend core是zend官方又一個(gè)為數(shù)不多的優(yōu)秀的免費(fèi)產(chǎn)品,她的存在必要性是能夠幫助大家快速的安裝部署php運(yùn)行環(huán)境,簡(jiǎn)約而不簡(jiǎn)單,甚至還提供了一個(gè)web管理配置php.ini的功能,這是很優(yōu)秀的,更多有趣的功能等著大家去發(fā)現(xiàn)了。它與zend studio也是有著千絲萬(wàn)縷的關(guān)系,比如我用zend studio開(kāi)發(fā)了一個(gè)系統(tǒng),借由zend core就能很快的上線(xiàn)運(yùn)行。

            8、Zend Platform

            更準(zhǔn)確的說(shuō)她是一整套的企業(yè)服務(wù)器解決方案,企業(yè)級(jí)應(yīng)用從來(lái)都是和大型聯(lián)系在一起的,因此,什么集群啊、陣列啊、控制中心啊、等等等等對(duì)zend platform來(lái)說(shuō)全都不在話(huà)下,她能夠跟蹤Php運(yùn)行中的錯(cuò)誤,監(jiān)控php運(yùn)行的性能,精確的找出瓶頸,這是多么牛逼的產(chǎn)品啊。那么,需要多少錢(qián)呢?只要998,全球限量30套,趕緊拿起電話(huà)訂購(gòu)吧!……抽風(fēng)了一下,依我看,zend server正要逐步替代掉zend platform,不止是做嫁衣,zend 還要生產(chǎn)新娘!因此,Zend Server風(fēng)頭正勁。Zend Platform與zend studio的關(guān)系就是前者能夠提供給后者非常強(qiáng)大的服務(wù)端支持,當(dāng)然這個(gè)強(qiáng)大是zend debugger無(wú)法企及的,當(dāng)大多數(shù)時(shí)候,我們個(gè)人開(kāi)發(fā)者用不著這么強(qiáng)大,官方可以下載到Zend Platform的30天試用版(就是說(shuō)她是商業(yè)軟件),抱歉,我也沒(méi)有Zend Platform的注冊(cè)碼或者注冊(cè)機(jī)。她與zend server的關(guān)系呢,就是Zend Server在嫁衣里面包了個(gè)新娘。

            Zend公司是一個(gè)有潛力的公司,與各界的合作正紛紛展開(kāi),也祝zend越走越遠(yuǎn)。

            posted @ 2010-10-06 00:10 叫我老王吧 閱讀(852) | 評(píng)論 (0)編輯 收藏
            僅列出標(biāo)題  下一頁(yè)
            <2015年12月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(4)

            隨筆分類(lèi)

            隨筆檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            精品久久久久久久久免费影院| 秋霞久久国产精品电影院| 无码精品久久一区二区三区| 99热都是精品久久久久久| 久久久中文字幕| 久久久综合九色合综国产| 久久精品一区二区| 青青国产成人久久91网| 久久这里只有精品久久| 欧美日韩中文字幕久久伊人| 久久91亚洲人成电影网站| 91精品国产91久久久久久| 91久久福利国产成人精品| 国产精品日韩深夜福利久久| 久久国产精品波多野结衣AV| 精品无码久久久久久久久久| 久久伊人精品青青草原日本| 欧美精品一区二区久久| 久久香综合精品久久伊人| 无码人妻久久久一区二区三区 | 无码任你躁久久久久久| 国产精品亚洲综合久久| 亚洲国产精品久久电影欧美| 久久久久无码精品国产| 国产亚洲美女精品久久久久狼| 久久这里只有精品久久| 日韩精品无码久久一区二区三| 久久青青草视频| 精品久久8x国产免费观看| 99久久婷婷免费国产综合精品| 国产激情久久久久影院| 香蕉99久久国产综合精品宅男自| 久久妇女高潮几次MBA| 99久久无码一区人妻a黑| 国内精品久久久久国产盗摄| 一日本道伊人久久综合影| 精品无码久久久久国产| 国产视频久久| 久久精品成人欧美大片| 国产91久久综合| 欧美一区二区三区久久综|