またdxライブラリの方の画面はどこをクリックしても移動できるようになっています。
改善したい点はコマンドプロンプトからの入力じゃなくてテキスト入力フォームを作って反映ボタンを押すとdxライブラリの画面に表示される情報が変わるようにしたいです。一言でいうとGUIにしたいということです。
どのようにすればいいでしょうか。
#include "DxLib.h"
#include <stdio.h>
#include <math.h>
#include <process.h>
static WNDPROC pPrevWndProc;
int i;
static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg) {
case WM_NCHITTEST:
// ウインドウの枠の上にカーソルがあることにする
return HTCAPTION;
}
return CallWindowProc(pPrevWndProc, hWnd, uMsg, wParam, lParam);
}
unsigned __stdcall sure1(void *p)
{
//デバッグ用にコンソールを呼び出す
AllocConsole();
freopen("CONOUT$", "w", stdout);
freopen("CONIN$", "r", stdin);
while (1){
scanf("%d", &i);
}
//コンソール解放
FreeConsole();
_endthreadex(0);
return 0;//コンパイラの警告を殺す
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HANDLE handoru;
handoru = (HANDLE)_beginthreadex(NULL, 0, sure1, "sure1です。", 0, NULL);
//ログを出力しない
SetOutApplicationLogValidFlag(FALSE);
// ウインドウモードで起動
ChangeWindowMode(TRUE);
SetWindowStyleMode(4);
// DXライブラリの初期化
if (DxLib_Init() < 0) return -1;
// ウィンドウのサブクラス化(ウィンドウプロシージャのフック)
pPrevWndProc = (WNDPROC)GetWindowLongPtr(GetMainWindowHandle(), GWLP_WNDPROC);
SetWindowLongPtr(GetMainWindowHandle(), GWLP_WNDPROC, (LONG_PTR)WndProc);
// 描画先を裏画面にする
SetDrawScreen(DX_SCREEN_BACK);
SetAlwaysRunFlag(TRUE);
/*--------------------------------
メインループ
-----------------------------------*/
while (!ProcessMessage())
{
// 画面のクリア
ClearDrawScreen();
DrawFormatString(0, 0, -1, "%d\n", i);
// 裏画面の内容を表画面に反映
ScreenFlip();
}
//終了処理
WaitForSingleObject(handoru, INFINITE); /* スレッドが終了するまで待つ。 */
CloseHandle(handoru); /* ハンドルを閉じる */
DxLib_End();
// ソフトの終了
return 0;
}