サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
TGS2024
www-higashi.ist.osaka-u.ac.jp/~k-maeda
Section9.1 描画の基礎(実践編) InvalidateRect() から EndPaint() まで 描画がどのようなプロセスで行われるのかについて, また描画に必要不可欠なデバイスコンテキスト(略してDC)について少し解説します. 描画プロセス InvalidateRect() と BeginPaint() による描画 描画の流れ InvalidateRect()でウインドウ(の一部)を更新領域に追加 ←+ | | +----------------------+ ↓ UpdateWindow()を実行 ↓ //WM_PAINTメッセージがウインドウに送信される// ↓ コールバック関数のWM_PAINTメッセージ処理部////////////////// // BeginPaint():指示された場合,背景色で更新領域を初期化 //
Section8.3 トラックバー(スライダー) トラックバーはコモンコントロールというグループに入るので, コモンコントロールの初期化が必要になります. コモンコントロールを使えるようにする commctrl.hをインクルード,ComCtl32.libをリンクし, WinMainの最初でInitCommonControls()を呼び出します. #include <windows.h> #include <commctrl.h> #pragma once #pragma comment(lib, "ComCtl32.lib") //ライブラリのリンク . . . //Windows Main 関数 int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
Section1.3 ウインドウを作る 細かい事 WNDCLASSEX 構造体でウインドウクラスのパラメタを指定してRegisterClassEx()で そのウインドウクラスを登録, CreateWindow()で登録したクラスを元にウインドウを作って ShowWindow()で表示する.というのが一連の流れ. 終わるときはDestroyWindow()やPostQuitMessage()やUnregisterClass()などを使ったりします. WNDCLASSEX 構造体
Section1.4 ウインドウプロシージャ(コールバック関数) ウインドウから送られてくるメッセージをキャッチして処理する関数の事.コールバック関数である. Javaでいうところのイベントリスナーだっけ? メニュー,キー,マウス,スクロールバー,描画等々,様々なメッセージが送られてくる. ダイアログ用のコールバック関数は Section7.3 でやってるのでそちらを参照. MDI関連のプロシージャはまた返さないといけない値とかがちょっと違うのでそのうち. 基本形 LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam){ switch(msg){ case WM_CREATE: return 0L; . . . case WM_DESTROY: PostQuitMessage(0); retur
VC++ による Windows アプリケーションのプログラミングについて自分の覚え書き目的にまとめているページです. 使用ソフトはMicrosoft Visual C++ 6.0 ,MFCは使わずに,Win32API SDKを用いた方法を説明します. 機能をインデックスとした関数逆引き形式を目指しています. 内容のレベルはある程度PCに慣れてて,ある程度プログラムをかじったことある人程度向けだと思います. C言語ぐらいはできるよね? Section1. ウインドウを作る プログラムの骨格となる部分.ここから始まります. VCに自動で作らせる 自分で作る 細かい事 ウインドウ作成に使う関数や構造体の説明.ひたすら引数やメンバの説明. 書くのも読むのもめんどくさいので必要な時だけ読め. ウインドウプロシージャ(コールバック関数) 主なメッセージ一覧(ノーマルウインドウ編)つき Section
画面サイズ取得 RECT rec; HWND hDeskWnd = GetDesktopWindow(); //この関数でデスクトップのハンドルを取得 GetWindowRect( hDeskWnd, &rec ); //デスクトップのハンドルからその(画面の)大きさを取得 使用例 ウインドウを画面の中心に表示しています. ソースのダウンロード (こっそり現在のウインドウ領域とクライアント領域を画面に表示しています.ウインドウサイズや位置を いろいろ変えてみてください.) #define NAME "Section2.5 window size" //タイトルバーに表示するテキスト #include <windows.h> #define WINDOWWIDTH 400 #define WINDOWHEIGHT 400 //グローバル変数 RECT recDisplay, recWindo
このページを最初にブックマークしてみませんか?
『www-higashi.ist.osaka-u.ac.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く