-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathTextEdit.cpp
More file actions
114 lines (105 loc) · 3.66 KB
/
TextEdit.cpp
File metadata and controls
114 lines (105 loc) · 3.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
//Copyright+LGPL
//-----------------------------------------------------------------------------------------------------------------------------------------------
// Copyright 1999-2013 Makoto Mori, Nobuyuki Oba
//-----------------------------------------------------------------------------------------------------------------------------------------------
// This file is part of MMANA.
// MMANA is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
// MMANA is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
// You should have received a copy of the GNU Lesser General Public License along with MMANA. If not, see
// <http://www.gnu.org/licenses/>.
//-----------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "ComLib.h"
#include "TextEdit.h"
//---------------------------------------------------------------------
#pragma resource "*.dfm"
TTextEditDlg *TextEditDlg;
//---------------------------------------------------------------------
__fastcall TTextEditDlg::TTextEditDlg(TComponent* AOwner)
: TForm(AOwner)
{
ap = NULL;
Memo->Font->Pitch = fpFixed; //ja7ude 1.0
EntryAlignControl();
}
//---------------------------------------------------------------------
int __fastcall TTextEditDlg::Execute(AnsiString &as, int flag, LPCSTR pTitle /* = NULL*/)
{
CWaitCursor tw;
ap = as.c_str();
if( flag != TRUE ){
OKBtn->Visible = FALSE;
CancelBtn->Caption = "閉じる";
Memo->ReadOnly = TRUE;
}
if( pTitle != NULL ){
Caption = pTitle;
}
tw.Delete();
int r = ShowModal();
if( r == IDOK ){
if( Memo->Modified == FALSE ) return FALSE;
if( flag == TRUE ){
as = Memo->Text;
}
return TRUE;
}
return FALSE;
}
void __fastcall TTextEditDlg::FontBtnClick(TObject *Sender)
{
FontDialog->Font->Assign(Memo->Font);
if( FontDialog->Execute() == TRUE ){
CWaitCursor tw;
Memo->Font->Assign(FontDialog->Font);
Memo->Update();
}
}
//---------------------------------------------------------------------------
// サイズ変更コントロールの登録
void __fastcall TTextEditDlg::EntryAlignControl(void)
{
RECT rc;
rc.left = 0;
rc.top = 0;
rc.right = 799;
rc.bottom = 599;
AlignList.EntryControl(OKBtn, &rc, OKBtn->Font);
AlignList.EntryControl(CancelBtn, &rc, CancelBtn->Font);
AlignList.EntryControl(FontBtn, &rc, FontBtn->Font);
AlignList.EntryControl(Memo, &rc, Memo->Font);
int CX = ::GetSystemMetrics(SM_CXFULLSCREEN);
int CY = ::GetSystemMetrics(SM_CYFULLSCREEN);
// int CX = ::GetSystemMetrics(SM_CXSCREEN);
// int CY = ::GetSystemMetrics(SM_CYSCREEN);
if( (CX < Width)||(CY < Height) ){
Top = 0;
Left = 0;
Width = CX;
Height = CY;
}
FormCenter(this, CX, CY);
if( Owner != NULL ){
WindowState = ((TForm *)Owner)->WindowState;
}
}
//---------------------------------------------------------------------------
void __fastcall TTextEditDlg::FormResize(TObject *Sender)
{
CWaitCursor tw;
AlignList.NewAlign(this);
}
//---------------------------------------------------------------------------
void __fastcall TTextEditDlg::FormPaint(TObject *Sender)
{
if( ap == NULL ) return;
CWaitCursor tw;
Memo->Text = ap;
ap = NULL;
Memo->Update();
}
//---------------------------------------------------------------------------