看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) 想請問一下,目前是visual c++新手 接到case說要用win32的sdk來寫程式 (其實不如說沒什麼視窗程式設計的經驗,win32這種傳統純語言比較容易上手) 只是查了theForger's Win32 API跟天藍工作室 (學習win32 API的好網站0.0b),裡面所提的bitmap點陣圖載入卻一直執行不能 像天藍工作室所提的在resources script中(應該是指Resources.h檔案吧)寫入 #define IDB_BITMAP1 1 IDB_BITMAP1 BITMAP "some_path/some_bitmap_file.bmp" 結果執行都會一直失敗,不管是放在 主程式.cpp或是Resources.h 都會顯示 在「IDB_BITMAP1 BITMAP "1276308492905.bmp"」這一行出現 error C2059: 語法錯誤 : '常數' 部分原程式(1-15行): ------------------------------------------------------- #include "stdafx.h" #include "test_06.h" #include "windows.h" #define MAX_LOADSTRING 100 #define IDB_BITMAP1 1 IDB_BITMAP1 BITMAP "1276308492905.bmp" // 全域變數: HINSTANCE hInst; // 目前執行個體 TCHAR szTitle[MAX_LOADSTRING]; // 標題列文字 TCHAR szWindowClass[MAX_LOADSTRING]; // 主視窗類別名稱 ----------------------------------------------------- 其實就是用vc++ 2005先自行產生win32 api的格式 bitmap部分我於7-8行補上 只是不管是加在這主程式cpp檔或是Resources.h都會出現錯誤 都是標「IDB_BITMAP1 BITMAP "1276308492905.bmp"」此行 : error C2059: 語法錯誤 : '常數' 而theForger's Win32 API中「位图,设备上下文」部分 HBITMAP g_hbmBall = NULL; case WM_CREATE: g_hbmBall = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BALL)); if(g_hbmBall == NULL) MessageBox(hwnd, "Could not load IDB_BALL!", "Error", MB_OK | MB_ICONEXCLAMATION); break; 則是卡在不懂IDB_BALL的含意 希望得到的正確結果: 希望有大大能提供一下可以正確讀取點陣圖檔的程式碼資料 程式跑出來的錯誤結果: error C2059: 語法錯誤 : '常數' 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) Visual C++ 2005 有問題的code: (請善用置底文標色功能) #define IDB_BITMAP1 1 IDB_BITMAP1 BITMAP "some_path/some_bitmap_file.bmp" 補充說明: 有大大推薦哪本學習 Win32 Api 的參考用書嗎 書局找到的都是用表單再回去寫程式的 都沒找到以api為主教學的書 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.47.50
stupid0319:IDB_BALL是資源名,在資源檔內建立bitmap名叫IDB_BALL 11/18 23:56
※ 編輯: steven70101 來自: 122.118.47.50 (11/19 01:21)
byby615:"精通Windows API:函數、介面、程式設計實例" 應該不錯 11/19 17:20
tropical72:樓上指的是對岸書嗎? 11/19 17:34
byby615:文魁出的 是繁體中文 11/20 15:33
byby615:不好意思 是對岸出的 文魁代理吧 但字體是繁中 11/20 15:35