始めまして、TKOZといいます。
今、WIN32APIの勉強の一環として、お絵かきソフトを作っています。
しかし、アンドゥ、リドゥをどうやって実装すればいいのか分からないです。
描画クラスは、基本的にはCreateDIBSectionを使って描画しています。
LPDWORD lpPixel;←が画像バッファです。
LPDWORD UNDOTABLE[100];これがUNDOバッファーのつもりです。
case WM_LBUTTONUP:
で
UNDOTABLE[CD.DrawCount]=lpPixel;
CD.DrawCount++;
として、
case IDM_UNDO:
{//SendMessage(hWnd,EM_CANUNDO,0,0);
CD.DrawCount--;
if(CD.DrawCount==0)break;
lpPixel=UNDOTABLE[CD.DrawCount];
InvalidateRect(hWnd,NULL,NULL);
}
としています。しかし、全然UNDOにならず、困っています。
誰か分かる方いましたら、よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
LPDWORDの名前自体がポインタであることを表してます。
ハンガリアン記法と言う命名規則で名前が付いてますので、
http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%B3% …
LPでポインタ、DWORDで32bit長の整数です。
lpPixelもポインタだと名前で表している訳です。
ポインタと実体の差を理解されているなら、画像バッファの内容自体の転送をC言語が
UNDOTABLE[CD.DrawCount]=lpPixel;
の一文で処理出来る言語ではないことが分かると思います。
>でも、何故か分かりません。
何が分からないんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Windows11でMP3 CDを作る方法 17 2022/10/17 19:17
- スピーカー・コンポ・ステレオ 高音質でCDに書き込みしたいです。 11 2022/04/05 14:45
- 美術・アート ペンタブとオフィス系ソフト 1 2022/10/08 19:27
- 一眼レフカメラ CD-Rのバックアップを作ったら読み込みに時間がかかる 3 2022/09/20 22:53
- 画像編集・動画編集・音楽編集 お勧め画像編集ソフト 5 2022/05/28 20:15
- Mac OS アプルミュージックの リピート 機能について 1 2022/12/10 18:03
- その他(パソコン・スマホ・電化製品) windows 2000の初期化方法 5 2022/09/01 12:24
- 芸術学 童謡は子供の歌声で聴く歌だと思うんですが、最近の童謡のCDは子供の歌声で入っていないし、CDジャケッ 2 2022/04/29 03:15
- USBメモリー・SDカード・フラッシュメモリー cdrへの書き込みで、オーディオcdで書き込むには、 4 2022/09/15 13:10
- その他(プログラミング・Web制作) powershell で書いたプログラムでcd が動かない 5 2023/04/08 14:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セグメントエラー
-
C言語のポインタに直接アドレス...
-
fopne で失敗する原因
-
Run-Time Check Failure #3とい...
-
ExcelVBAでのkernel32(64bit)
-
ハンドルはポインタか
-
C言語の関数と配列に関する質問
-
自作strcat
-
LPSTR型の初期化について
-
init関数の意味
-
いまc言語を独学で勉強している...
-
PASCALとFARの意味
-
Vector定義の配列の共有メモリ化
-
ポインタ引数をさらにポインタ...
-
マイコンのプログラムについて
-
c言語のエラーについて
-
C言語のvoid型ポインタ変数につ...
-
関数へのポインタ渡し
-
アドレスとポインタがどうして...
-
ハンドル、アドレス、ポインタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セグメントエラー
-
C言語のポインタに直接アドレス...
-
init関数の意味
-
戻り値で構造体を返すことは可...
-
fopne で失敗する原因
-
C言語の関数と配列に関する質問
-
Run-Time Check Failure #3とい...
-
LPSTR型の初期化について
-
ExcelVBAでのkernel32(64bit)
-
main(int argc,char **argv[])...
-
アプリを32bitから64bit移行
-
連結リスト 要素の入れ替え
-
ハンドルはポインタか
-
Cで作成したDLL関数をVBから呼...
-
C言語でのconstを返す関数
-
NULLとブランクの違い
-
エラーの意味
-
DLL<->VB間での受け渡し(文字...
-
ハンドル、アドレス、ポインタ...
-
【C言語】戻り値が構造体の関数
おすすめ情報