wordのように行で区切り、文字列を入力できるプログラムを作りたいです。
また、入力した文字列を自由な行に移動できるようにもしたいです。
dxライブラリの関数一覧を見てみたのですが、どうすればよいか皆目見当もつきません。
他力本願で、ごみのような質問ですが、、もしよろしければ
プログラムのサンプルと解説を添えていただけるとありがたいです。
wordのように
Re: wordのように
>wordのように行で区切り、文字列を入力できるプログラムを作りたいです。
>また、入力した文字列を自由な行に移動できるようにもしたいです。
誰も答えていないので。
「dxライブラリ」は、上記のようなプログラムを作るには、不向きです。
>また、入力した文字列を自由な行に移動できるようにもしたいです。
誰も答えていないので。
「dxライブラリ」は、上記のようなプログラムを作るには、不向きです。
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
Re: wordのように
Windows でなら、Visual Studio で、C# のプロジェクトを選んで、フォームにテキストボックスを貼り付けるだけで、複数行の文字列を入力でき、入力した文字列を自由な行に移動できるプログラムが出来ます。くわしくは、C# に詳しい方に、お任せします。
C++ にこだわるなら、https://forest.watch.impress.co.jp/docs ... 33620.html
Embarcadero C++Builder のフル機能を無償で(ja)
で、フォームにテキストボックスを貼り付けるだけで、出来ます。といっても、C++Builder 流な C++ ですが。
C++ にこだわるなら、https://forest.watch.impress.co.jp/docs ... 33620.html
Embarcadero C++Builder のフル機能を無償で(ja)
で、フォームにテキストボックスを貼り付けるだけで、出来ます。といっても、C++Builder 流な C++ ですが。
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
Re: wordのように
返信遅れてすみません。
丁寧に教えていただきありがとうございます。
自分はc#は全然わからないので今回は諦めますw
丁寧に教えていただきありがとうございます。
自分はc#は全然わからないので今回は諦めますw
Re: wordのように
word のように、というので、文字のサイズやフォンや色を変更できる
ものを作りたいのかと思って、それは難しいからと放置していたのですが、
メモ帳程度でよいのなら、エディットコントロールでできます。
コマンドラインの第1引数をファイル名とします。
Visual Studio で実行する場合は、
プロジェクトのプロパティの構成プロパティのデバッグの
コマンド引数に、ファイル名を書いてから実行してください。
エクスプローラで、ファイルを実行ファイルのアイコンに
ドラッグ&ドロップしても動きます。
終了するとき、テキストが修正されてればファイルを更新します。
ものを作りたいのかと思って、それは難しいからと放置していたのですが、
メモ帳程度でよいのなら、エディットコントロールでできます。
#undef UNICODE
#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>
#include <stdio.h> // fopen, fclose, fread, fwrite, fseek, ftell
#include <stdlib.h> // malloc, free
char *fname, *text;
BOOL modified = FALSE;
HWND hEdit;
HINSTANCE hInst;
void onCreate(HWND hwnd)
{
hEdit = CreateWindowA("EDIT", NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | WS_VSCROLL
| ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_LEFT | ES_MULTILINE,
10, 10, 600, 420, hwnd, (HMENU)1, hInst, NULL);
SetWindowText(hEdit, text);
}
void onDestroy()
{
if (modified) {
FILE *fp = fopen(fname, "wb");
if (fp) {
int size = GetWindowTextLength(hEdit);
char *p = (char *)malloc(size + 1);
if (p) {
size = GetWindowText(hEdit, p, size + 1);
fwrite(p, 1, size, fp);
fclose(fp);
free(p);
}
}
}
free(text);
PostQuitMessage(0);
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
{
switch (msg) {
case WM_CREATE: onCreate(hwnd); break;
case WM_DESTROY: onDestroy(); break;
case WM_COMMAND:
if (LOWORD(wp) == 1 && HIWORD(wp) == EN_UPDATE) modified = TRUE;
break;
default: return DefWindowProc(hwnd, msg, wp, lp);
}
return 0;
}
int WINAPI WinMain(HINSTANCE h, HINSTANCE prev, LPSTR cl, int cs)
{
if (*cl) {
fname = cl;
FILE *fp = fopen(fname, "rb");
if (!fp) {
MessageBox(NULL, "ファイルがオープンできない", "", 0);
return 0;
}
fseek(fp, 0, SEEK_END);
int size = ftell(fp);
rewind(fp);
text = (char *)malloc(size + 1);
if (!text) return 0;
size = fread(text, 1, size, fp);
text[size] = '\0';
fclose(fp);
}
else fname = (char *)"無題.txt";
hInst = h;
WNDCLASS wcl = { 0, WindowProc, 0, 0, h, NULL,
LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_WINDOW + 1), NULL, "wc" };
if (!RegisterClass(&wcl)) return FALSE;
if (!CreateWindowEx(WS_EX_COMPOSITED, "wc", fname,
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
80, 60, 640, 480, NULL, NULL, h, NULL)) return 0;
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
Visual Studio で実行する場合は、
プロジェクトのプロパティの構成プロパティのデバッグの
コマンド引数に、ファイル名を書いてから実行してください。
エクスプローラで、ファイルを実行ファイルのアイコンに
ドラッグ&ドロップしても動きます。
終了するとき、テキストが修正されてればファイルを更新します。
Re: wordのように
丁寧に教えていただきありがとうございます。
ただ自分はstdioとdxlibの初歩的な部分しかわからないので、皆様のアドバイスを参考にすこしずつググって勉強します。
自分の能力に見合わない質問でしたすいませんでした。
ただ自分はstdioとdxlibの初歩的な部分しかわからないので、皆様のアドバイスを参考にすこしずつググって勉強します。
自分の能力に見合わない質問でしたすいませんでした。
Re: wordのように
いまさらですが,一応Rich Editというコントロールがあったりします。
Editコントロールはメモ帳に相当しますが,Rich Editコントロールはワードパッドに相当します。
LoadLibrary等が必要なので,Editコントロールよりは使い方が面倒ではありますが……。
Editコントロールはメモ帳に相当しますが,Rich Editコントロールはワードパッドに相当します。
LoadLibrary等が必要なので,Editコントロールよりは使い方が面倒ではありますが……。