現在、ダイアログボックスを用いて文字入力を行い、入力された文字をDrawFormatString関数で描画したいと考えておりますが、上手く出来ません。何か方法はございませんが?
念のため現在作っているプログラムの一部を添付させていただきます。
一応コンパイルまでは出来るんですが、ダイアログボックスに文字、数字を入力し、OKをクリックするとアプリケーションエラーになってしまいます。
おそらく、***で囲まれた部分の定義がおかしいと思い調べましたが、事故解決には至りませんでした。
コンパイラはBCC Developerを使っています。
よろしくお願いいたします。
↓これが、リソースファイルです。
#include <windows.h>
#include "dlgbox.h"
DLGBOX DIALOGEX 300, 300, 100, 70
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "名前と大きさの入力"
FONT 12, "MS 明朝"
BEGIN
EDITTEXT IDC_FAIL1,60,12,20,15,ES_AUTOHSCROLL
EDITTEXT IDC_FAIL2,60,30,20,15,ES_AUTOHSCROLL
LTEXT "名前",IDC_STATIC,18,12,17,8
LTEXT "大きさ",IDC_STATIC,17,30,17,8
DEFPUSHBUTTON "OK",IDOK,7,49,50,14
PUSHBUTTON "終了",IDCANCEL,129,49,50,14
END
※ファイル名はdlgbox.rc
↓次にヘッダファイルです。
#define IDC_FAIL1 1001
#define IDC_FAIL2 1002
※ファイル名はdlgbox.h
そして、本体です。
#include <windows.h>
#include "dlgbox.h"
BOOL CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM , Boy *boy);
int WINAPI WinMain(HINSTANCE hCurInst, HINSTANCE hPrevInst,
LPSTR lpsCmdLine, int nCmdShow)
{
DialogBox(hCurInst, "DLGBOX", NULL, (DLGPROC)DlgProc);
return 0;
}
BOOL CALLBACK MyDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam , Boy *boy)
{
char boy[256],ookisa[128],namae[128];
switch (msg )
{
case WM_INITDIALOG: //ダイアログボックスの初期化
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK://OKボタンが押されたら
GetDlgItemText(hDlg, IDC_FAIL1, namae, (int)sizeof(namae));
//hDlgで指されるバッファにテキストをコピーし、コピーしたバイト数を返します
GetDlgItemText(hDlg, IDC_FAIL2, ookisa, (int)sizeof(ookisa));
wsprintf(boy, "名前を%sに、大きさを%sに変更しました", namae, ookisa);
MessageBox(hDlg, boys, "変更したぷぃ(>o<)b", MB_OK);
************************************************
* strcpy(boy->name,namae); *
* boy->value[64] = ookisa[64]; *
************************************************
DrawFormatString(8,7,Yellow,"name : %s",boy->name);
DrawFormatString(8,15,Yellow,"value : %d",boy->value);
EndDialog(hDlg, IDOK); //ダイアログボックスの破棄
return TRUE;
}
return FALSE;
}
return FALSE;
}
※ファイル名はdlgbox.cppです。
ダイアログボックスの文字入力について
ページ移動
- 掲示板
- ↳ C言語何でも質問掲示板
- ↳ 四聖龍神録2 掲示板
- ↳ 四聖龍神録Plus掲示板
- ↳ AerobeatPlus掲示板
- 副次コンテンツ
- ↳ 作品お披露目掲示板
- 登録ユーザー用コンテンツ
- ↳ 登録ユーザー掲示板
- コミュニティフォーラム
- ↳ みんなでソースコードをレビューしよう
- ↳ 3DCGソフト使用者のコミュ
- ↳ Win32 API
- ↳ 組み込み系スクリプト言語をつかってみよう
- ↳ 東方好きあつまれ
- ↳ C言語誰でも交流サイト - mixC++ -
- ↳ ビット論理演算が好きな人♪
- ↳ 企画関係について語ろうか
- ↳ エフェクトアニメーション
- ↳ 学生で集まってみる?
- ↳ DirectX SDK
- ↳ マイコン/FPGA電子工作部
- ↳ PHPに可能性を無限大
- ↳ Code Golf を楽しもう!
- ↳ 作曲している人で話し合ってみませんか♪
- ↳ ソフト制作コミュ
- ↳ El Shaddai - エルシャダイ -
- ↳ PSPプログラミング
- ↳ CINEMA 4D
- ↳ お絵かきコミュニティ
- ↳ 素材作ってみたよ!
- ↳ OpenGL
- ↳ OpenCV
- ↳ RPGを作りたい!
- ↳ ポケモン好き集まれ
- ↳ ならば .NETをやらないか?
- ↳ 1から勉強してみないか?
- ↳ 赤髪超大好き♪
- ↳ ノースリーブ
- ↳ 伝説の戦士プリキュアを語ろう
- ↳ コンテストコミュニティー
- ↳ DXライブラリ何でも質問コミュニティ
- ↳ 四聖龍神録コミュニティ
- ↳ HTML/CSS/JavaScript
- ↳ 生放送コミュ
- ↳ サンプルを共有するコミュニティ
- ↳ おすすめマーカー
- ↳ minecraft
- ↳ Xtal Language
- ↳ マインクラフト
- ↳ 数学やらないか?
- ↳ 習ったことをプログラムで表してみよう!
- ↳ 小物アプリ作成や ら な い か
- ↳ AIの可能性は無限大
- ↳ 自作OS製作(GUI入門)[雑談]
- ↳ リレーコーディング
- ↳ Unix/Linux
- ↳ 競技プログラミングごっこやろうぜ
- ↳ 夏休みプログラミングイベント2012 in MixC++
- ↳ D言語を広めよう
- ↳ Scala布教の会
- ↳ 3Dゲーム作ろうぜ!モデリング~プログラミングまで
- ↳ 言語に興味を持ったら是非!!
- ↳ レイヴンズ・ネスト
- ↳ C言語とC++言語のコミュニティー!
- ↳ 放課後ふぁんたじあ
- ↳ マイ サンプルズ
- ↳ ガンヲタの館
- ↳ 歯科機器
- ↳ 歯科機器情報
- ↳ 52歳からはじめるC言語
- mixC++更新・仕様変更履歴