テキストエディタ作成 保存方法について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
iru

テキストエディタ作成 保存方法について

#1

投稿記事 by iru » 13年前

前回テキストエディタ作成に関して質問したものです。
教わったエディットコントロールという単語をもとに調べ、以下のような簡単なメモ帳を作成しました。
次に保存機能をつけようと思ったのですが、うまくいきません。
使うのはGetDlgItemTextということはわかったのですが、保存ができず苦戦しております。
適当に保存ボタンをつけて、それを押せば保存という形にしたいのです。
お知恵をお貸しください。
保存形式は.txtの予定です。

コード:

#include <Windows.h>


LRESULT CALLBACK WndProc(HWND hwnd , UINT msg , WPARAM wp , LPARAM lp){
	switch (msg){
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	case WM_CREATE:
		CreateWindow(TEXT("EDIT"),NULL,WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | ES_AUTOHSCROLL | ES_AUTOVSCROLL  | ES_LEFT |  ES_MULTILINE, 0,0,400,200,hwnd,(HMENU)1,((LPCREATESTRUCT)(lp))->hInstance,NULL);
		return 0;
	}
	return DefWindowProc(hwnd,msg,wp,lp);
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, PSTR lpCmdLine,int nCmdShow){
	HWND hwnd;
	MSG msg;
	WNDCLASS winc;

	winc.style			= CS_HREDRAW | CS_VREDRAW;
	winc.lpfnWndProc	= WndProc;
	winc.cbClsExtra		= winc.cbWndExtra =0;
	winc.hInstance		= hInstance;
	winc.hIcon			= LoadIcon(NULL , IDI_APPLICATION);
	winc.hCursor		= LoadCursor(NULL,IDC_ARROW);
	winc.hbrBackground	= (HBRUSH)GetStockObject(WHITE_BRUSH);
	winc.lpszMenuName	= NULL;
	winc.lpszClassName	= TEXT("KITTY");

	if(!RegisterClass(&winc)) return -1;

	hwnd = CreateWindow(TEXT("KITTY"),TEXT("タイトル"),WS_OVERLAPPEDWINDOW | WS_VISIBLE,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);

	if (hwnd == NULL) return -1;

	while(GetMessage(&msg,NULL,0,0)){
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	return msg.wParam;
}


たいちう
記事: 418
登録日時: 15年前

Re: テキストエディタ作成 保存方法について

#2

投稿記事 by たいちう » 13年前

定番なのはこのサイト。
第74章 メモ帳を作る その1

理解することが大事なので、理解できないようならば、最初の方から実際に作ってみると良いでしょう。

閉鎖

“C言語何でも質問掲示板” へ戻る