PIXNET Logo登入

Edison.X. Blog

跳到主文

YouLoveMe() ? LetItBe() : LetMeFree() ;

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 12月 05 週一 201104:07
  • [Win32] turtoul(01) - SimpleWindow

 
#include <windows.h>

const char g_szClassName[] = "myWindowClass"; /* 程式名稱 */
// Step 4: the Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
        default:
return DefWindowProc(hwnd, msg, wParam, lParam);
}
return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
HWND hwnd;
MSG Msg;

//Step 1: Registering the Window Class
// -------------------------------------------------------------
// system
wc.cbSize = sizeof(WNDCLASSEX); // 固定
wc.lpfnWndProc = WndProc; // 訊息處理
wc.cbClsExtra = 0; // 設0
wc.cbWndExtra = 0; // 設0
wc.hInstance = hInstance; // 固定
// -------------------------------------------------------------
// style
wc.style = 0; // 風格
wc.lpszClassName = g_szClassName; // class namme
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); // 背景顏色

// -------------------------------------------------------------
// resource
wc.hCursor = LoadCursor(NULL, IDC_ARROW); // 設定 curosr
wc.lpszMenuName = NULL; // 載入 menu
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); // 設定 icon
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); // icon
// -------------------------------------------------------------

if(!RegisterClassEx(&wc))
{
MessageBox(NULL, "Window Registration Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}

// Step 2: Creating the Window
hwnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
g_szClassName,
"The title of my window",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
NULL, NULL, hInstance, NULL);

if(hwnd == NULL)
{
MessageBox(NULL, "Window Creation Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return EXIT_FAILURE;
}

ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);

// Step 3: The Message Loop
while(GetMessage(&Msg, NULL, 0, 0) > 0)
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(1)

  • 個人分類:tutorial
▲top
  • 12月 05 週一 201104:04
  • [Win32] turtoul(00) - WinMain

 
// ---------------------------------------------------
/*
  #define IDOK 1
  #define IDCANCEL 2
  #define IDABORT 3
  #define IDRETRY 4
  #define IDIGNORE 5
  #define IDYES 6
  #define IDNO 7

  // WINVER >= 0x0400
  #if(WINVER >= 0x0400)
  #define IDCLOSE 8
  #define IDHELP 9
  #endif
*/
// ---------------------------------------------------
#include <windows.h>
#include <stdio.h>
int WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd )
{
char buf[200];
int ret = MessageBox(NULL, "Hello, World", "WinMain", MB_OKCANCEL);
sprintf(buf, "ret=%d", ret);
MessageBox(NULL, buf, "Return value", MB_OK);
return 0;
}
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(1)

  • 個人分類:tutorial
▲top
  • 12月 05 週一 201101:54
  • [C&++] Resource Editor / Resource Compiler

 
Win32 寫視窗時,做視覺化介面大多有兩種方式,一種是直接用 IDE 所附的資源編輯器,另一種是直接用 API 下去砍。資源編輯器所編輯出來的,會產生二個檔案,一個是 hello.rc 另一為 resource.h。 resource.h 本身並沒有什麼好講的,裡面都是定義一些資源編號之 macro。
目前這兩種方式 (API、使用資源編輯器) 都可以動態資源變更之目的,但在大多之情況,用 API 撰之較費時,光是畫一份 Dialog 便要花一些時間在計算位置上,但若 UI 介面常改變時,用 API 可能是較佳維護之方式。這裡不會把所有關於 Resource 之 API 都提上,要提的是資源編輯器這塊。
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(2) 人氣(1,455)

  • 個人分類:C/C++ Note
▲top
  • 11月 30 週三 201123:00
  • [C語言數值分析] cmath / math.h - sin.cos


參考網址
 
1. wiki - Trigonometric_functions
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(1) 人氣(6,659)

  • 個人分類:math.h/cmath application
▲top
  • 11月 30 週三 201106:02
  • [C&++] Visual C++ Run Time library

 
平常只盡量摸 Standard Library,後來要寫一份 32bits rand,
要找比較漂亮,但卻又不是廣為人知的常數,
接著連到 MSDN 後才發現,底線開頭的 fucntion 真的很吸引人。
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(308)

  • 個人分類:C/C++ Note
▲top
  • 11月 30 週三 201105:22
  • [大數] C 語言大數演算法 for general

 
增加進制位數
 
在上篇 [大數] C 語言大數演算法 for beginner 已對大數算法有了初步認知,也曾提到一般 coder 在設計時並不會設計如此,原因在於速度太慢。
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(6,131)

  • 個人分類:大數
▲top
  • 11月 29 週二 201122:29
  • [C&++] UltraEditor / PSPad Console 版部份實作

u_000.png
 
我曾在某論壇裡,為解釋檔案讀寫時, binary mode 與 txt mode 之差異,
所以寫了份 demo code 與簡要說明。
但由於該論壇必須註冊才可看到內容,後續在他處遇到有類似問題的人,
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(1,818)

  • 個人分類:C/C++ Note
▲top
  • 11月 29 週二 201102:30
  • [大數] C 語言大數演算法 for beginner

 
大數問題我認為是新手必練題型之一,但實在沒時間去 implement 做 sample code,
把目前知道的作法先且粗略紀錄下來,以下探討「暫」以「無號大數」為標的,
下面的 code 憑印象之演示。
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(1) 人氣(49,295)

  • 個人分類:大數
▲top
  • 11月 27 週日 201121:33
  • [AI] Data Mining

 
不確定一般 Data Mining 課程學校裡面是怎麼上的,印象中翻國內不同領域之相關文獻,
所著重之流程不盡相同,應是不同科系對於 Data Mining 之重點應不同。
 
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(1,264)

  • 個人分類:AI
▲top
  • 11月 26 週六 201105:45
  • [C&++] 求 1+2+...+n > 10^20

 
原題意是, 1+2+...+n >= 10^20,求最小之 n。
 
這問題像是學校作業跑出來的,由於和提問的人之前互動沒很良好,故也沒打算給解答,留參作為紀錄。
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(309)

  • 個人分類:C/C++ Note
▲top
«1...10111231»

個人資訊

edisonx
暱稱:
edisonx
分類:
數位生活
好友:
累積中
地區:

熱門文章

  • (444,513)[C] printf 引數說明
  • (83,007)[C&++] 亂數基本使用
  • (80,157)[C] 計時器整理
  • (58,131)[浮點數] IEEE754 , C/C++ 浮點數誤差
  • (49,915)VBA Procedure 簡述
  • (45,792)VBA 活頁簿(Workbooks)管理
  • (39,457)[C] scanf 引數說明
  • (31,154)[W] 初學者的 windows.h
  • (21,955)bitset 整理
  • (4,982)多測資處理

文章分類

toggle 開發手札 (2)
  • 未實作的想法 (4)
  • 心得筆記 (2)
toggle C/C++ (8)
  • C/C++ Note (52)
  • 亂數 (10)
  • Debug (9)
  • Hidden Features in C (6)
  • OO NOTE (0)
  • 面試題庫 (12)
  • C/C++ FAQ (4)
  • STL Note (3)
toggle 應用軟體/工具 (1)
  • Office (1)
toggle 數值分析 (9)
  • 非線性方程式求解 (10)
  • 矩陣運算 (7)
  • 深入質數 (5)
  • 浮點數 (9)
  • 複數 Complex (2)
  • 積分法 (2)
  • 多項式內差法 (2)
  • 常見關於數 (5)
  • math.h/cmath application (8)
toggle 程式之美 (1)
  • 遊戲之樂 (3)
toggle VB.Net (1)
  • VB.Net Note (1)
toggle 英文 (1)
  • 專題單字 (1)
toggle AutoIt!! (2)
  • AutoIt!! Note (13)
  • Auto-Dll (9)
toggle VBA (4)
  • VBA FAQ (5)
  • VBA Note (9)
  • VBA tec. (1)
  • VBA_Note2 (3)
toggle MFC (1)
  • MFC雜記 (4)
toggle Win32 (8)
  • Process (10)
  • Win32-Console (5)
  • 檔案系統 (1)
  • 音效 (1)
  • 隱喻外掛 (3)
  • System undoc. (0)
  • GDI (2)
  • 記憶體管理 (1)
toggle 環境與Script (4)
  • visual studio (6)
  • 批次檔batch (2)
  • 程式環境架構 (3)
  • Library (3)
toggle 數學整理 (2)
  • 常用公式 (1)
  • 有趣數學 (2)
toggle 演算法 (7)
  • Bit-Hacks (1)
  • AI (13)
  • 大數 (5)
  • 資料結構 (0)
  • 影像 (2)
  • 遞迴-recursive (2)
  • 回溯.列舉.遞迴 (2)
toggle 程設亂語 (1)
  • 胡言亂語 (10)
toggle SmallTalk (1)
  • SmallTalk (27)
  • 未分類文章 (1)

最新文章

  • 轉戰 python
  • [MFC] CArray 注意事項
  • 你真的很狠...
  • [開發手札] tool 整理 <NOTE>
  • [開發手札] vs dll 相容性
  • [開發手札] vc 效率問題
  • [開發手札] 修改 exe 裡面的 constant
  • [開發手札] 受不了 IDE 常當機問題...
  • [Job] Job Journal 130501
  • [面試] some tips

最新留言

  • [25/02/13] 訪客 於文章「[C語言數值分析] cmath / ma...」留言:
    您好,在最后的建表法趋近中, sin_tablePI2[i]...
  • [22/10/28] 訪客 於文章「C/C++ 學習歷程分享...」留言:
    abombterry(at)gmail.com...
  • [22/10/28] 訪客 於文章「C/C++ 學習歷程分享...」留言:
    請問現在還有教c語言嗎? 我有興趣,可否來信告知,謝謝 ...
  • [22/05/31] 五月花 於文章「[Poker] 撲克牌遊戲設計介紹...」留言:
    幫作者推一個 撲克遊戲真的很有趣 個人也是長年愛打牌的其...
  • [22/04/15] 訪客 於文章「[C語言數值分析] 非線性方程式求解 -...」留言:
    原本在搜尋引擎找出一堆 Blog 文章,不知哪幾篇值得花時間...
  • [21/12/27] RIYO 於文章「[Poker] 撲克牌遊戲設計介紹...」留言:
    感覺好酷!! 雖然不懂這些 但身為一個熱愛撲克的玩家覺得...
  • [21/10/01] 訪客 於文章「[GA] 基因演算法(Genetic A...」留言:
    只是想與板主和網友補充交流一下敝人拜讀完的拙見, 我想版主...
  • [21/06/19] 訪客 於文章「[亂數] <細說> C/C++ 亂數基本...」留言:
    請問要怎麼讓檔案第一次執行跑出10個亂數,二次執行跑出20個...
  • [20/09/24] 訪客 於文章「VBA Procedure 簡述...」留言:
    老師 您好 上述撰寫程式的示範,我能理解為何這樣演化,但我...
  • [20/06/25] 訪客 於文章「VBA Procedure 簡述...」留言:
    您好,我想請教一下 我在網路教學裡看到許多老師教製作Exc...

動態訂閱

文章精選

文章搜尋

誰來我家

參觀人氣

  • 本日人氣:
  • 累積人氣:

留言板