處理WM_NCPAINT訊息可以實現自繪視窗邊框和標題列。 手頭有個視窗需要自繪邊框,於是處理了WM_NCPAINT訊息,結果程式初運行時可以正常繪製,一旦最小化或者調整視窗位置後就看不到自繪的邊框了。找了半天發現犯了個愚蠢的錯誤。在擷取視窗矩形後未做處理便開始了繪圖操作,現在加上平移操作,使要繪製的矩形左上方座標歸零後一切正常。 視窗包含WS_BORDER和WS_THICKFRAME風格,邊框大小一般為4。 代碼如下:if( uMsg ==
<!--著作權foruok,轉載請註明出處!!--> DXUTGUI提供的預設控制項已經實現了透明效果和類似色彩鍵的效果。在D3D中沒有直接的色彩鍵(direct draw中有)功能,不過可以利用alpha通道實作類別似的效果,只是需要圖片具有alpha通道。 DXUTGUI的控制項紋理正是這樣實現的,用photoshop開啟儲存下來的紋理圖片,可以看到其alpha通道的圖片。 要在D3D9中實現透明和顏色過濾功能,需要兩個步驟。
<!--著作權foruok,轉載請註明出處!!--> 最近在研究DXUT內建的控制項陳列庫,按照SDK及例子做了些實驗,總是那個固定的樣子(可以看DXSDK中的例子,就是哪種效果),讓人一眼就看出來介面是利用DXUTGUI實現的。我想要做出自己的效果,看來必須定製。 定製包含兩個方面,整個控制項陳列庫風格的定製和特定控制項執行個體本身的定製。 我們先說整個UI風格的定製。 我是從SDK的CUSTOMUI入手學習DXUT的。
ARM嵌入式入門最好的文章 “ARM怎麼入門”。我不是高手,仍然是菜鳥。 但是回想起自己當時的迷茫,特意寫了這篇東西,當作給和我一樣的兄弟姐妹的協助吧。問這個問題的人多半不是已經工作的工程師,而是和我一樣是學生,所以這篇筆記就把看家當成我一樣的菜鳥,高手勿怪。 以下問題常被問到,我就想到哪說到哪吧。 一 首先說說ARM的發展 可以用一片大好來形容,翻開各個公司的網站,招聘裡面嵌入式佔據了大半工程師職位。
對於技術人員可以選擇以下幾個方向 一, 繼續做技術, 做技術比較穩定,是一個撐不死,餓不著的行業,要想掙到比較多的錢比較困難。 二, 銷售
<--!著作權foruok,轉載註明出處!--> 一個完整的例子 實驗了一個完整的例子。 在C++中產生一個類,註冊到lua。 從lua調用C++類的成員函數。 在Alternate.lua中寫了階乘函數factorial。 從C++中調用factorial。
我要在3D情境中播放電影,或者把電影作為紋理來使用。 有兩個辦法,一個是寫一個video render,用它來接管filter graph的最終輸出,將視頻資料拷貝到我們的私人紋理上,然後在合適的時候來使用它(主要是在D3D相關的主迴圈中)。
/*一道經典的面試題,有時候會搞錯。貼出來,希望大家都注意。*/char * GetMemory(char *p, int num){p = (char *)malloc(sizeof(char) * num);return p;};int main(){char *str = NULL;str = GetMemory(str, 100);strcpy(str, "hello");cout << str << endl;return 0;}/*請問以上程式的輸出是什嗎?*
目前已完成如下控制項: 1.按鈕 按鈕可以通過提供四個狀態的個人化紋理來定製,也可以使用庫提供的預設紋理。可以只有圖片,這通常用於定製。也可以在圖片上疊加文字,多數情況下使用庫預設的紋理即可;當然也可以自己提供紋理並指定文字。 2.選項按鈕、複選框 可以利用庫提供的選中/非選中紋理,也可以定製紋理。 3.編輯框 可以自己提供紋理,預設使用庫中的紋理。可以指定文字顏色、選中框背景顏色、選中文字顏色等。 4.組合框
1.談談你對C++三個特點的理解。答:封裝,繼承,多態。封裝:將私人資訊隱藏,只提供介面;實現模組化,代碼重用。繼承:一種串連類與類的層次模型;代碼重用。多態:介面重用。如果函數調用的地址不能在編譯器期間確定,需要在運行時才確定,這就屬於晚綁定或動態綁定。最常見的用法就是聲明基類的指標,利用該指標指向任意一個子類對象,調用相應的虛函數,可以根據指向的子類的不同而實現不同的方法。2.堆、棧的區別。哪些變數放在堆或者棧中? 1、棧區(stack)— 由編譯器自動分配釋放
/*鏈表的基本操作~~開發環境:vs2010win32 console application.*/#include "stdafx.h"#include <iostream>using namespace std;struct node {int data;node * next;};node * createList(int n);void outputList(node * head);node * findData(int n, node * head);node *
源自於對於駭客精神的崇拜之情,對這家公司格外尊重。雖待遇不是很高,但想必在那裡真正能感受程式員的樂趣。正是由於看了這家公司筆試試卷之後,俺才將之前寫過的筆經中提到的公司名字抹去的。(ps:俺分享筆經也是體現了一點駭客精神滴~~)。試卷上首頁標註了:商業機密;試卷最後小提醒中說不要傳播筆試題目的。 俺想今天的記錄只是把自己不會的或者模糊的知識點列舉出來,方便自己技術的提高~~
用C語言編寫http應用,解析URL是一個繁瑣的事兒。前幾天使用http_parser實現httpclient,發現裡面提供了一個解析URL的方法http_parser_parse_url,用起來相當方便。http_parser_parse_url通過分析URL字串,把port、host、path、schema之類的資訊儲存在一個結構體http_parser_url中。通過看標頭檔和源碼,發現這個結構體僅僅是記錄了URL中各部分資訊的起始位置、長度,沒有做任何記憶體拷貝,效率上看還是不錯的。目前
討論如何用d3d9來繪製圓及簡單的圓角矩形。 畫圓時採用Bresenham演算法。不失一般性,假設圓的圓心位於座標原點(如果圓心不在原點,可以通過座標平移使其與原點重合),半徑為R。以原點為圓心的圓C有四條對稱軸:x=0,y=0,x=y和x=-y。若已知圓弧上一點P1=C(x, y),利用其對稱性便可以得到關於四條對稱軸的其它7個點,即: P2=C(x,-y), P3=C(-x, y), P4=C(-x,-y), P5=C(y,x), P6=C(-y,x), P7=C(y,-x)
今天試了下百度雲開發平台,使用php建立一個簡單的web服務。基本上參考這個文章《在百度雲平台上構建Web App》。另外發現了一些可能對個人來講更有意思的功能,你的Web App發布以後,可以通過svn上傳非php檔案,也可以直接下載。例如你Web
雙向鏈表一般也由頭指標唯一確定雙向鏈表首尾相接可以構成雙向迴圈鏈表 /*鏈表的基本操作~~開發環境:vs2010win32 console application.*/#include "stdafx.h"#include <iostream>using namespace std;struct node{int data;node * next; // 指向後續節點node * pre; // 指向前驅節點};node * createBidirList (int
用luaplus實驗了下,想把簡單的C++類映射到lua指令碼中不難,但是複雜一點的,比方說類的彙總、繼承等,比較麻煩。我實驗了兩天,用表中表來實現是可以的,但自己弄太麻煩了。說到底,我只是想用一下而已,不是想從頭弄一個系統。
tolua++的源碼包中有很多測試例子。這裡我用更最簡單的例子來學習。 第一個例子是數組。僅僅是把C++中的一個數組匯出到Lua中,可以在指令碼中訪問並修改。 tarray.pkg檔案: $#include "tarray.h"extern int g_Arr[10]@Arr;
文章目錄 相關資源連結: 想在我的項目中使用Lua指令碼語言。最初知道Lua是通過CEGUI,後來因為一些原因不打算使用CEGUI了,只好單獨使用Lua。在網上看到LuaPlus,貌似比較簡單。在此記錄學習過程。
一、簡答題1、列舉幾個常見的雜湊演算法,簡述雜湊演算法的主要用途主要用途:尋找關鍵字、檔案校正、數位簽章2、描述OSI的7層架構,並指出HTTP、UDP、ARP協議在那一層?應用程式層:為應用程式提供網路服務展示層:確保不同應用資訊的識別會話層:建立資料轉送通路傳輸層:進行流量控制、分割資料包,以及定義一些傳輸協議網路層:提供IP地址服務、進行IP到MAC地址的轉化資料連結層:確保幀的無差錯傳輸物理層:提供bit或者電壓的處理ARP屬於網路層,UDP屬於傳輸層、HTTP屬於應用程式層3、簡述讓一