Waitrud Weber’s blog

things and reminders for memories

3d: WindowsAPI: Windows-make: we ensured:

The problem is ( which problem is ? ) STEP 3->4->7->8-> https://waitrudweber.hatenablog.com/entry/2020/03/30/001322 The problem is window-creation: 

---

The problem is ( which problem is ? ) STEP 3->4->7->8-> https://waitrudweber.hatenablog.com/entry/2020/03/30/001322 The problem is window-creation:?

---

The problem is ( which problem is ? ) STEP 3->4->7->8-> https://waitrudweber.hatenablog.com/entry/2020/03/30/001322 The problem is window-creation:?

1: has Created: 20200330
static LRESULT CALLBACK mainWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
	//wEvent evt;
	static wEvent *p_evt = nullptr;
	int succ;
	HDC     hDC;
	PAINTSTRUCT ps;

	// 20190403
	if ( p_evt == nullptr ) {
		p_evt = new wEvent () ;
		put_memories ( (char *) p_evt );
	}
	p_evt->hWnd = hWnd;
	p_evt->uMsg = &uMsg;
	p_evt->wParam = wParam;
	p_evt->lParam = lParam;
	p_evt->main_mode = m_mode;
	btc.setEvent ( p_evt );
	canvas.setEvent ( p_evt );

	printf("WM_MESSG 000: hWnd %d: uMsg %d: wParam %d: lParam %d: canvas %d: btc %d: *(p_evt->uMsg) %d: \r\n", hWnd, uMsg, wParam, lParam, &canvas, &btc, *(p_evt->uMsg) );

    switch ( uMsg ){
	case WM_CREATE:
		printf("WM_CREATE 001: %d *(p_evt->uMsg):%d uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg ); // <- the left changes uMsg.
		SetMenu ();
		sprintf( m_string, "uMsg:%d wParam:%d\n", uMsg, wParam );
		break;
	case WM_CHAR:
		p_evt->Type = WM_CHAR; // 
		break;
   	case WM_KEYUP:
		p_evt->Type = WM_KEYUP; // 
   		break;
   	case WM_PAINT:
		printf("WM_PAINT 001: %d *(p_evt->uMsg):%d uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg ); // <- the left changes uMsg.
		// 20200126
		garbage_memories () ;
		p_evt->hDc = BeginPaint( hWnd, &ps ); // p_evt->uMsg should be a pointer;
		p_evt->ps = &ps;
		p_evt->Type = WM_PAINT; // WM_PAINT:15
		printf("WM_PAINT 002: %d *(p_evt->uMsg):%d uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg );
		break;
    }

	printf("WM_MESSG 003: %d *(p_evt->uMsg):%d\r\n", uMsg, *(p_evt->uMsg) );
	// 20200308 commented out
	//btc.Process ();
	//canvas.Process ();
	//controller_t->kickEvent_001 ();
	// 20200309 commented out
	//if ( controller_t != nullptr )
	//	controller_t->Process_001();

	//20200305 starts
	//20200305 ends
	m_mode = p_evt->main_mode;
	printf("WM_MESSG 004: %d *(p_evt->uMsg):%d uMsg:%d p_evt->uMsg: %d &uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg, p_evt->uMsg, &uMsg );

    switch ( uMsg ){
   	case WM_PAINT:
		// event.hDc = BeginPaint( hWnd, &ps);
		// wmpaint_display_threeD_proc ( hWnd, &hDC, &ps, uMsg, wParam, lParam );
		// btc.Process ();
		printf("WM_PAINT 005: %d *(p_evt->uMsg):%d uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg );
		EndPaint(hWnd, &ps);
		printf("WM_PAINT 006: %d *(p_evt->uMsg):%d uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg );
		break;
   	case WM_KEYUP:
		printf("WM_MESSG 009: %d *(p_evt->uMsg):%d uMsg:%d p_evt->uMsg: %d &uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg, p_evt->uMsg, &uMsg );
		InvalidateRect( hWnd, NULL, TRUE);
		printf("WM_MESSG 010: %d *(p_evt->uMsg):%d uMsg:%d p_evt->uMsg: %d &uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg, p_evt->uMsg, &uMsg );
		break;

    }

	printf("WM_MESSG 007: %d *(p_evt->uMsg):%d uMsg:%d p_evt->uMsg: %d &uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg, p_evt->uMsg, &uMsg );
	switch ( btc.Processed ) {
	case 0:
		break;
	case 1:
		btc.Processed = 0;
		return 0;
	case 2:
		btc.Processed = 0;
		return DefWindowProc( hWnd, uMsg, wParam, lParam );
	default:
		return 0;
	}

	printf("WM_MESSG 008: %d *(p_evt->uMsg):%d uMsg:%d p_evt->uMsg: %d &uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg, p_evt->uMsg, &uMsg );
	return 0;
}
2: 20200330: created
<//
//
//
//
//
static void set_menu_002() {
	printf("set_menu_002() starts.\r\n");

	// wControllerT 20200303 starts.
	wKickEventDisplayThreeD* kick_event = new wKickEventDisplayThreeD() ;
	wKickEvent* kick_event_001 = new wKickEvent() ;

	controller_t = new wControllerT(); 
	controller_t->setKickEvent_001 ( 0, kick_event );
	controller_t->setKickEvent_001 ( 1, kick_event_001 );

	controller_t->setButtonController( &btc );
	controller_t->setCanvasController( &canvas ); 
	// wControllerT 20200303 ends.

	printf("set_menu_002() ends.\r\n");
}
3: ?
> .\winmain_001.exe
WM_MESSG 000: hWnd 918516: uMsg 36: wParam 0: lParam 2685436: canvas 4374928: btc 4374944: *(p_evt->uMsg) 36:
WM_MESSG 003: 36 *(p_evt->uMsg):36
WM_MESSG 004: 36 *(p_evt->uMsg):36 uMsg:36 p_evt->uMsg: 2685056 &uMsg: 2685056
WM_MESSG 007: 36 *(p_evt->uMsg):36 uMsg:36 p_evt->uMsg: 2685056 &uMsg: 2685056
WM_MESSG 008: 36 *(p_evt->uMsg):36 uMsg:36 p_evt->uMsg: 2685056 &uMsg: 2685056
WM_MESSG 000: hWnd 918516: uMsg 129: wParam 0: lParam 2685424: canvas 4374928: btc 4374944: *(p_evt->uMsg) 129:
WM_MESSG 003: 129 *(p_evt->uMsg):129
WM_MESSG 004: 129 *(p_evt->uMsg):129 uMsg:129 p_evt->uMsg: 2685012 &uMsg: 2685012
WM_MESSG 007: 129 *(p_evt->uMsg):129 uMsg:129 p_evt->uMsg: 2685012 &uMsg: 2685012
WM_MESSG 008: 129 *(p_evt->uMsg):129 uMsg:129 p_evt->uMsg: 2685012 &uMsg: 2685012
WM_MESSG 000: hWnd 918516: uMsg 130: wParam 0: lParam 0: canvas 4374928: btc 4374944: *(p_evt->uMsg) 130:
WM_MESSG 003: 130 *(p_evt->uMsg):130
WM_MESSG 004: 130 *(p_evt->uMsg):130 uMsg:130 p_evt->uMsg: 2685080 &uMsg: 2685080
WM_MESSG 007: 130 *(p_evt->uMsg):130 uMsg:130 p_evt->uMsg: 2685080 &uMsg: 2685080
WM_MESSG 008: 130 *(p_evt->uMsg):130 uMsg:130 p_evt->uMsg: 2685080 &uMsg: 2685080
PS C:\Users\abjmp_000\Documents\source\analyzer\analyzer_20200401> .\winmain_001.exe
WM_MESSG 000: hWnd 1311732: uMsg 36: wParam 0: lParam 2685436: canvas 4374928: btc 4374944: *(p_evt->uMsg) 36:
WM_MESSG 003: 36 *(p_evt->uMsg):36
WM_MESSG 004: 36 *(p_evt->uMsg):36 uMsg:36 p_evt->uMsg: 2685056 &uMsg: 2685056
WM_MESSG 007: 36 *(p_evt->uMsg):36 uMsg:36 p_evt->uMsg: 2685056 &uMsg: 2685056
WM_MESSG 008: 36 *(p_evt->uMsg):36 uMsg:36 p_evt->uMsg: 2685056 &uMsg: 2685056
WM_MESSG 000: hWnd 1311732: uMsg 129: wParam 0: lParam 2685424: canvas 4374928: btc 4374944: *(p_evt->uMsg) 129:
WM_MESSG 003: 129 *(p_evt->uMsg):129
WM_MESSG 004: 129 *(p_evt->uMsg):129 uMsg:129 p_evt->uMsg: 2685012 &uMsg: 2685012
WM_MESSG 007: 129 *(p_evt->uMsg):129 uMsg:129 p_evt->uMsg: 2685012 &uMsg: 2685012
WM_MESSG 008: 129 *(p_evt->uMsg):129 uMsg:129 p_evt->uMsg: 2685012 &uMsg: 2685012
WM_MESSG 000: hWnd 1311732: uMsg 130: wParam 0: lParam 0: canvas 4374928: btc 4374944: *(p_evt->uMsg) 130:
WM_MESSG 003: 130 *(p_evt->uMsg):130
WM_MESSG 004: 130 *(p_evt->uMsg):130 uMsg:130 p_evt->uMsg: 2685080 &uMsg: 2685080
WM_MESSG 007: 130 *(p_evt->uMsg):130 uMsg:130 p_evt->uMsg: 2685080 &uMsg: 2685080
WM_MESSG 008: 130 *(p_evt->uMsg):130 uMsg:130 p_evt->uMsg: 2685080 &uMsg: 2685080
4: ?
WM_MESSG 000: hWnd 786982: uMsg 36: wParam 0: lParam 2685436: canvas 4374928: btc 4374944: *(p_evt->uMsg) 36:
WM_MESSG 003: 36 *(p_evt->uMsg):36
WM_MESSG 004: 36 *(p_evt->uMsg):36 uMsg:36 p_evt->uMsg: 2685056 &uMsg: 2685056
WM_MESSG 007: 36 *(p_evt->uMsg):36 uMsg:36 p_evt->uMsg: 2685056 &uMsg: 2685056
WM_MESSG 008: 36 *(p_evt->uMsg):36 uMsg:36 p_evt->uMsg: 2685056 &uMsg: 2685056
WM_MESSG 008: WM_CREATE 1 WM_PAINT 15 WM_KEYUP 257
WM_MESSG 000: hWnd 786982: uMsg 129: wParam 0: lParam 2685424: canvas 4374928: btc 4374944: *(p_evt->uMsg) 129:
WM_MESSG 003: 129 *(p_evt->uMsg):129
WM_MESSG 004: 129 *(p_evt->uMsg):129 uMsg:129 p_evt->uMsg: 2685012 &uMsg: 2685012
WM_MESSG 007: 129 *(p_evt->uMsg):129 uMsg:129 p_evt->uMsg: 2685012 &uMsg: 2685012
WM_MESSG 008: 129 *(p_evt->uMsg):129 uMsg:129 p_evt->uMsg: 2685012 &uMsg: 2685012
WM_MESSG 008: WM_CREATE 1 WM_PAINT 15 WM_KEYUP 257
WM_MESSG 000: hWnd 786982: uMsg 130: wParam 0: lParam 0: canvas 4374928: btc 4374944: *(p_evt->uMsg) 130:
WM_MESSG 003: 130 *(p_evt->uMsg):130
WM_MESSG 004: 130 *(p_evt->uMsg):130 uMsg:130 p_evt->uMsg: 2685080 &uMsg: 2685080
WM_MESSG 007: 130 *(p_evt->uMsg):130 uMsg:130 p_evt->uMsg: 2685080 &uMsg: 2685080
WM_MESSG 008: 130 *(p_evt->uMsg):130 uMsg:130 p_evt->uMsg: 2685080 &uMsg: 2685080
WM_MESSG 008: WM_CREATE 1 WM_PAINT 15 WM_KEYUP 257
5: ?
static LRESULT CALLBACK mainWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
	//wEvent evt;
	static wEvent *p_evt = nullptr;
	int succ;
	HDC     hDC;
	PAINTSTRUCT ps;

	// 20190403
	if ( p_evt == nullptr ) {
		p_evt = new wEvent () ;
		put_memories ( (char *) p_evt );
	}
	p_evt->hWnd = hWnd;
	p_evt->uMsg = &uMsg;
	p_evt->wParam = wParam;
	p_evt->lParam = lParam;
	p_evt->main_mode = m_mode;
	btc.setEvent ( p_evt );
	canvas.setEvent ( p_evt );

	printf("WM_MESSG 000: hWnd %d: uMsg %d: wParam %d: lParam %d: canvas %d: btc %d: *(p_evt->uMsg) %d: \r\n", hWnd, uMsg, wParam, lParam, &canvas, &btc, *(p_evt->uMsg) );

    switch ( uMsg ){
	case WM_CREATE:
		printf("WM_CREATE 001: %d *(p_evt->uMsg):%d uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg ); // <- the left changes uMsg.
		SetMenu ();
		sprintf( m_string, "uMsg:%d wParam:%d\n", uMsg, wParam );
		break;
	case WM_CHAR:
		p_evt->Type = WM_CHAR; // 
		break;
   	case WM_KEYUP:
		p_evt->Type = WM_KEYUP; // 
   		break;
   	case WM_PAINT:
		printf("WM_PAINT 001: %d *(p_evt->uMsg):%d uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg ); // <- the left changes uMsg.
		// 20200126
		garbage_memories () ;
		p_evt->hDc = BeginPaint( hWnd, &ps ); // p_evt->uMsg should be a pointer;
		p_evt->ps = &ps;
		p_evt->Type = WM_PAINT; // WM_PAINT:15
		printf("WM_PAINT 002: %d *(p_evt->uMsg):%d uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg );
		break;
    }

	printf("WM_MESSG 003: %d *(p_evt->uMsg):%d\r\n", uMsg, *(p_evt->uMsg) );
	// 20200308 commented out
	//btc.Process ();
	//canvas.Process ();
	//controller_t->kickEvent_001 ();
	// 20200309 commented out
	//if ( controller_t != nullptr )
	//	controller_t->Process_001();

	//20200305 starts
	//20200305 ends
	m_mode = p_evt->main_mode;
	printf("WM_MESSG 004: %d *(p_evt->uMsg):%d uMsg:%d p_evt->uMsg: %d &uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg, p_evt->uMsg, &uMsg );

    switch ( uMsg ){
   	case WM_PAINT:
		// event.hDc = BeginPaint( hWnd, &ps);
		// wmpaint_display_threeD_proc ( hWnd, &hDC, &ps, uMsg, wParam, lParam );
		// btc.Process ();
		printf("WM_PAINT 005: %d *(p_evt->uMsg):%d uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg );
		EndPaint(hWnd, &ps);
		printf("WM_PAINT 006: %d *(p_evt->uMsg):%d uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg );
		break;
   	case WM_KEYUP:
		printf("WM_MESSG 009: %d *(p_evt->uMsg):%d uMsg:%d p_evt->uMsg: %d &uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg, p_evt->uMsg, &uMsg );
		InvalidateRect( hWnd, NULL, TRUE);
		printf("WM_MESSG 010: %d *(p_evt->uMsg):%d uMsg:%d p_evt->uMsg: %d &uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg, p_evt->uMsg, &uMsg );
		break;

    }

	printf("WM_MESSG 007: %d *(p_evt->uMsg):%d uMsg:%d p_evt->uMsg: %d &uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg, p_evt->uMsg, &uMsg );
	switch ( btc.Processed ) {
	case 0:
		break;
	case 1:
		btc.Processed = 0;
		return 0;
	case 2:
		btc.Processed = 0;
		return DefWindowProc( hWnd, uMsg, wParam, lParam );
	default:
		return 0;
	}

	printf("WM_MESSG 008: %d *(p_evt->uMsg):%d uMsg:%d p_evt->uMsg: %d &uMsg: %d \r\n", uMsg, *(p_evt->uMsg), uMsg, p_evt->uMsg, &uMsg );
	printf("WM_MESSG 008: WM_CREATE %d WM_PAINT %d WM_KEYUP %d \r\n", WM_CREATE, WM_PAINT, WM_KEYUP);
	return 0;
}
5: ?
WM_MESSG 000: hWnd 786982: uMsg 36: wParam 0: lParam 2685436: canvas 4374928: btc 4374944: *(p_evt->uMsg) 36:
WM_MESSG 003: 36 *(p_evt->uMsg):36
WM_MESSG 004: 36 *(p_evt->uMsg):36 uMsg:36 p_evt->uMsg: 2685056 &uMsg: 2685056
WM_MESSG 007: 36 *(p_evt->uMsg):36 uMsg:36 p_evt->uMsg: 2685056 &uMsg: 2685056
WM_MESSG 008: 36 *(p_evt->uMsg):36 uMsg:36 p_evt->uMsg: 2685056 &uMsg: 2685056
WM_MESSG 008: WM_CREATE 1 WM_PAINT 15 WM_KEYUP 257
WM_MESSG 000: hWnd 786982: uMsg 129: wParam 0: lParam 2685424: canvas 4374928: btc 4374944: *(p_evt->uMsg) 129:
WM_MESSG 003: 129 *(p_evt->uMsg):129
WM_MESSG 004: 129 *(p_evt->uMsg):129 uMsg:129 p_evt->uMsg: 2685012 &uMsg: 2685012
WM_MESSG 007: 129 *(p_evt->uMsg):129 uMsg:129 p_evt->uMsg: 2685012 &uMsg: 2685012
WM_MESSG 008: 129 *(p_evt->uMsg):129 uMsg:129 p_evt->uMsg: 2685012 &uMsg: 2685012
WM_MESSG 008: WM_CREATE 1 WM_PAINT 15 WM_KEYUP 257
WM_MESSG 000: hWnd 786982: uMsg 130: wParam 0: lParam 0: canvas 4374928: btc 4374944: *(p_evt->uMsg) 130:
WM_MESSG 003: 130 *(p_evt->uMsg):130
WM_MESSG 004: 130 *(p_evt->uMsg):130 uMsg:130 p_evt->uMsg: 2685080 &uMsg: 2685080
WM_MESSG 007: 130 *(p_evt->uMsg):130 uMsg:130 p_evt->uMsg: 2685080 &uMsg: 2685080
WM_MESSG 008: 130 *(p_evt->uMsg):130 uMsg:130 p_evt->uMsg: 2685080 &uMsg: 2685080
WM_MESSG 008: WM_CREATE 1 WM_PAINT 15 WM_KEYUP 257

---