この画像でしましまにしたいのですが画像を重ねて右にずらすと画像のような結果に
なってしまいます。どうしたらしましまにできるのでしょうか?
しましま描画について
Re:しましま描画について
ベースさんに前にも書いた気がしますが、規約のマルチポストの項目に違反しています。
http://oshiete1.goo.ne.jp/qa5515709.html
こちらで質問するなら、あちらを閉じてください。
あちらを優先するなら、こちらを閉じてください。
よろしくお願いします。
質問内容にも問題があるので、じっくり規約に目を通す事をお勧めします。
http://dixq.net/board/board.html
http://oshiete1.goo.ne.jp/qa5515709.html
こちらで質問するなら、あちらを閉じてください。
あちらを優先するなら、こちらを閉じてください。
よろしくお願いします。
質問内容にも問題があるので、じっくり規約に目を通す事をお勧めします。
http://dixq.net/board/board.html
Re:しましま描画について
そうだったんですか・・・閉じました。申し訳ありませんでした。問題となるソースはこうです。
wndclass.style = CS_HREDRAW|CS_VREDRAW|CS_SAVEBITS;
wndclass.lpfnWndProc = WndProc; // このクラスの持つウィンドウプロシージャ
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.cbSize = sizeof(WNDCLASSEX);
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION );
wndclass.hIconSm = LoadIcon( NULL, IDI_WINLOGO ); // exで追加される
wndclass.hCursor = LoadCursor( NULL, IDC_ARROW );
wndclass.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH );
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = _T("dc04"); // このクラスの名前
if(! RegisterClassEx( &wndclass )) return 0; // ウィンドクラスの登録
// できないと終了
hWnd = CreateWindow( _T("dc04"), // クラスの名前
_T("..."),
WS_OVERLAPPEDWINDOW , // ウィンドウの属性
CW_USEDEFAULT, CW_USEDEFAULT,
400,200,
HWND_DESKTOP, // 親はデスクトップ
NULL, hInstance, NULL );
と
LRESULT CALLBACK WndProc( HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam )
{
switch( iMessage ){
case WM_PAINT:{
PAINTSTRUCT ps;
char cbuf[100];
HDC hdc = BeginPaint( hWnd, &ps );
wsprintf( cbuf, _T("on WM_PAINT x0=%d y0=%d x1=%d y1=%d"),
ps.rcPaint.left, ps.rcPaint.top, ps.rcPaint.right, ps.rcPaint.bottom );
SetWindowText( hWnd, cbuf );
for( int i = ps.rcPaint.left; i < ps.rcPaint.right; i = i + 10 ){
MoveToEx( hdc, i, ps.rcPaint.top, NULL );
LineTo( hdc, i, ps.rcPaint.bottom );
}
EndPaint( hWnd, &ps );
break;
}
です。よろしくお願いします。
wndclass.style = CS_HREDRAW|CS_VREDRAW|CS_SAVEBITS;
wndclass.lpfnWndProc = WndProc; // このクラスの持つウィンドウプロシージャ
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.cbSize = sizeof(WNDCLASSEX);
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION );
wndclass.hIconSm = LoadIcon( NULL, IDI_WINLOGO ); // exで追加される
wndclass.hCursor = LoadCursor( NULL, IDC_ARROW );
wndclass.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH );
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = _T("dc04"); // このクラスの名前
if(! RegisterClassEx( &wndclass )) return 0; // ウィンドクラスの登録
// できないと終了
hWnd = CreateWindow( _T("dc04"), // クラスの名前
_T("..."),
WS_OVERLAPPEDWINDOW , // ウィンドウの属性
CW_USEDEFAULT, CW_USEDEFAULT,
400,200,
HWND_DESKTOP, // 親はデスクトップ
NULL, hInstance, NULL );
と
LRESULT CALLBACK WndProc( HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam )
{
switch( iMessage ){
case WM_PAINT:{
PAINTSTRUCT ps;
char cbuf[100];
HDC hdc = BeginPaint( hWnd, &ps );
wsprintf( cbuf, _T("on WM_PAINT x0=%d y0=%d x1=%d y1=%d"),
ps.rcPaint.left, ps.rcPaint.top, ps.rcPaint.right, ps.rcPaint.bottom );
SetWindowText( hWnd, cbuf );
for( int i = ps.rcPaint.left; i < ps.rcPaint.right; i = i + 10 ){
MoveToEx( hdc, i, ps.rcPaint.top, NULL );
LineTo( hdc, i, ps.rcPaint.bottom );
}
EndPaint( hWnd, &ps );
break;
}
です。よろしくお願いします。
Re:しましま描画について
すみませんタブつけるの忘れてました。
wndclass.style = CS_HREDRAW|CS_VREDRAW|CS_SAVEBITS;
wndclass.lpfnWndProc = WndProc; // このクラスの持つウィンドウプロシージャ
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.cbSize = sizeof(WNDCLASSEX);
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION );
wndclass.hIconSm = LoadIcon( NULL, IDI_WINLOGO ); // exで追加される
wndclass.hCursor = LoadCursor( NULL, IDC_ARROW );
wndclass.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH );
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = _T("dc04"); // このクラスの名前
if(! RegisterClassEx( &wndclass )) return 0; // ウィンドクラスの登録
// できないと終了
hWnd = CreateWindow( _T("dc04"), // クラスの名前
_T("..."),
WS_OVERLAPPEDWINDOW , // ウィンドウの属性
CW_USEDEFAULT, CW_USEDEFAULT,
400,200,
HWND_DESKTOP, // 親はデスクトップ
NULL, hInstance, NULL );
と
LRESULT CALLBACK WndProc( HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam )
{
<per> switch( iMessage ){ </per>
<per> case WM_PAINT:{ </per>
<per> PAINTSTRUCT ps; </per>
<per> char cbuf[100]; </per>
<per> HDC hdc = BeginPaint( hWnd, &ps ); </per>
<per> wsprintf( cbuf, _T("on WM_PAINT x0=%d y0=%d x1=%d y1=%d"), </per>
<per> ps.rcPaint.left, ps.rcPaint.top, ps.rcPaint.right, ps.rcPaint.bottom );</per>
<per> SetWindowText( hWnd, cbuf ); </per>
<per> for( int i = ps.rcPaint.left; i < ps.rcPaint.right; i = i + 10 ){</per>
<per> MoveToEx( hdc, i, ps.rcPaint.top, NULL ); </per>
<per> LineTo( hdc, i, ps.rcPaint.bottom );</per>
<per> } </per>
<per> EndPaint( hWnd, &ps );</per>
<per> break;</per>
<per> }</per>
です。よろしくお願いします。
wndclass.style = CS_HREDRAW|CS_VREDRAW|CS_SAVEBITS;
wndclass.lpfnWndProc = WndProc; // このクラスの持つウィンドウプロシージャ
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.cbSize = sizeof(WNDCLASSEX);
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION );
wndclass.hIconSm = LoadIcon( NULL, IDI_WINLOGO ); // exで追加される
wndclass.hCursor = LoadCursor( NULL, IDC_ARROW );
wndclass.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH );
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = _T("dc04"); // このクラスの名前
if(! RegisterClassEx( &wndclass )) return 0; // ウィンドクラスの登録
// できないと終了
hWnd = CreateWindow( _T("dc04"), // クラスの名前
_T("..."),
WS_OVERLAPPEDWINDOW , // ウィンドウの属性
CW_USEDEFAULT, CW_USEDEFAULT,
400,200,
HWND_DESKTOP, // 親はデスクトップ
NULL, hInstance, NULL );
と
LRESULT CALLBACK WndProc( HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam )
{
<per> switch( iMessage ){ </per>
<per> case WM_PAINT:{ </per>
<per> PAINTSTRUCT ps; </per>
<per> char cbuf[100]; </per>
<per> HDC hdc = BeginPaint( hWnd, &ps ); </per>
<per> wsprintf( cbuf, _T("on WM_PAINT x0=%d y0=%d x1=%d y1=%d"), </per>
<per> ps.rcPaint.left, ps.rcPaint.top, ps.rcPaint.right, ps.rcPaint.bottom );</per>
<per> SetWindowText( hWnd, cbuf ); </per>
<per> for( int i = ps.rcPaint.left; i < ps.rcPaint.right; i = i + 10 ){</per>
<per> MoveToEx( hdc, i, ps.rcPaint.top, NULL ); </per>
<per> LineTo( hdc, i, ps.rcPaint.bottom );</per>
<per> } </per>
<per> EndPaint( hWnd, &ps );</per>
<per> break;</per>
<per> }</per>
です。よろしくお願いします。
Re:しましま描画について
ソースの最初と最後にタグをつけてください。
perではなpreです
WinAPI32はさわったことがあるくらいです
普通再描写すると思いますけど・・・・
とりあえず誰もいなくてソース添付してくれれば考えます。
perではなpreです
WinAPI32はさわったことがあるくらいです
普通再描写すると思いますけど・・・・
とりあえず誰もいなくてソース添付してくれれば考えます。