source: dev/trunk/ab5.0/abdev/abdev/RadToolsAndPropertyProc.cpp@ 763

Last change on this file since 763 was 763, checked in by イグトランス (egtra), 15 years ago

#228試行

File size: 219.9 KB
Line 
1#include "stdafx.h"
2
3#include "Common.h"
4
5#if defined(JPN)
6//日本語
7#include "rad_msg_jpn.h"
8#else
9//英語
10#include "rad_msg_eng.h"
11#endif
12
13HRESULT ApplyDialogTexture( HWND );
14
15void ShowControlAdvice(int Control){
16 if(Control==IDC_TOOL_MOUSE) SetStatusText("");
17
18#if defined(JPN)
19 //日本語
20 else if(Control==IDC_TOOL_BUTTON) SetStatusText("[ボタン] クリックすることができるボタンです。");
21 else if(Control==IDC_TOOL_CHECKBOX) SetStatusText("[チェック ボックス] ON/OFFの設定ができるボタンです。");
22 else if(Control==IDC_TOOL_COMBOBOX) SetStatusText("[コンボ ボックス] ドロップダウン リストの中から項目を選択することができます。");
23 else if(Control==IDC_TOOL_EDIT) SetStatusText("[エディット ボックス] ユーザーが文字列の編集操作を行うことができます。");
24 else if(Control==IDC_TOOL_GROUPBOX) SetStatusText("[グループ ボックス] 複数のコントロールを囲むことができます。");
25 else if(Control==IDC_TOOL_HSCROLLBAR) SetStatusText("[水平スクロールバー] 現在位置を表示、設定します。");
26 else if(Control==IDC_TOOL_IMAGEBOX) SetStatusText("[イメージ ボックス] 四角形やビットマップ、アイコンを表示します。");
27 else if(Control==IDC_TOOL_LISTBOX) SetStatusText("[リスト ボックス] 複数の項目を表示、選択できるリストです。");
28 else if(Control==IDC_TOOL_LISTVIEW) SetStatusText("[リスト ビュー] リスト ボックス内にアイコンやテキストを並べて表示するビューです。");
29 else if(Control==IDC_TOOL_PROGRESSBAR) SetStatusText("[プログレス バー] 進行状況を表示するバー。");
30 else if(Control==IDC_TOOL_RADIOBUTTON) SetStatusText("[ラジオ ボタン] 複数の項目から1つを選択するボタンです。");
31 else if(Control==IDC_TOOL_STATIC) SetStatusText("[スタティック テキスト] テキストを表示します。");
32 else if(Control==IDC_TOOL_TRACKBAR) SetStatusText("[トラック バー] 目盛が付いた移動バー。");
33 else if(Control==IDC_TOOL_TREEVIEW) SetStatusText("[ツリー ビュー] リストを階層構造で表示します。");
34 else if(Control==IDC_TOOL_UPDOWN) SetStatusText("[アップ ダウン コントロール] 上下のボタンで数値を設定します。");
35 else if(Control==IDC_TOOL_VSCROLLBAR) SetStatusText("[垂直スクロールバー] 現在位置を表示、設定します。");
36#else
37 //英語
38 else if(Control==IDC_TOOL_BUTTON) SetStatusText("[Button] The button which can be clicked");
39 else if(Control==IDC_TOOL_CHECKBOX) SetStatusText("[CheckBox] The button which can switch on/off");
40 else if(Control==IDC_TOOL_COMBOBOX) SetStatusText("[ComboBox] Choose an item from drop down lists");
41 else if(Control==IDC_TOOL_EDIT) SetStatusText("[EditBox] A user can edit a character sequence");
42 else if(Control==IDC_TOOL_GROUPBOX) SetStatusText("[GroupBox] Two or more control can be packed");
43 else if(Control==IDC_TOOL_HSCROLLBAR) SetStatusText("[Horizontal Scrollbar] The present position is displayed and setup");
44 else if(Control==IDC_TOOL_IMAGEBOX) SetStatusText("[ImageBox] A rectangle, a bitmap, and an icon are displayed.");
45 else if(Control==IDC_TOOL_LISTBOX) SetStatusText("[ListBox] The list which can display and choose two or more items");
46 else if(Control==IDC_TOOL_LISTVIEW) SetStatusText("[ListView] The view which displays an icon and a text in a list box");
47 else if(Control==IDC_TOOL_PROGRESSBAR) SetStatusText("[Progressbar] The bar which displays an advance situation");
48 else if(Control==IDC_TOOL_RADIOBUTTON) SetStatusText("[RadioButton] The button which chooses one from two or more items");
49 else if(Control==IDC_TOOL_STATIC) SetStatusText("[StaticText] Display the text messages");
50 else if(Control==IDC_TOOL_TRACKBAR) SetStatusText("[Trackbar] The bar to which the scale was attached");
51 else if(Control==IDC_TOOL_TREEVIEW) SetStatusText("[TreeView] Lists are displayed by the layered structure");
52 else if(Control==IDC_TOOL_UPDOWN) SetStatusText("[Up/Down Control] A numerical value is set up with a up/down button");
53 else if(Control==IDC_TOOL_VSCROLLBAR) SetStatusText("[Vertical Scrollbar] The present position is displayed and setup");
54#endif
55}
56
57char *GetControlName(DWORD id){
58 char *pTemp;
59 pTemp="";
60
61#if defined(JPN)
62 //日本語
63 if(id==IDC_TOOL_MOUSE) pTemp="選択";
64 else if(id==IDC_TOOL_STATIC) pTemp="スタティック テキスト";
65 else if(id==IDC_TOOL_EDIT) pTemp="エディット ボックス";
66 else if(id==IDC_TOOL_GROUPBOX) pTemp="グループ ボックス";
67 else if(id==IDC_TOOL_COMBOBOX) pTemp="コンボ ボックス";
68 else if(id==IDC_TOOL_LISTBOX) pTemp="リスト ボックス";
69 else if(id==IDC_TOOL_BUTTON) pTemp="ボタン";
70 else if(id==IDC_TOOL_CHECKBOX) pTemp="チェック ボックス";
71 else if(id==IDC_TOOL_RADIOBUTTON) pTemp="ラジオ ボタン";
72 else if(id==IDC_TOOL_LISTVIEW) pTemp="リスト ビュー";
73 else if(id==IDC_TOOL_TREEVIEW) pTemp="ツリー ビュー";
74 else if(id==IDC_TOOL_HSCROLLBAR) pTemp="水平スクロール バー";
75 else if(id==IDC_TOOL_VSCROLLBAR) pTemp="垂直スクロール バー";
76 else if(id==IDC_TOOL_UPDOWN) pTemp="アップ ダウン コントロール";
77 else if(id==IDC_TOOL_IMAGEBOX) pTemp="イメージ ボックス";
78 else if(id==IDC_TOOL_TRACKBAR) pTemp="トラック バー";
79 else if(id==IDC_TOOL_PROGRESSBAR) pTemp="プログレス バー";
80#else
81 //英語
82 if(id==IDC_TOOL_MOUSE) pTemp="Tool";
83 else if(id==IDC_TOOL_STATIC) pTemp="StaticText";
84 else if(id==IDC_TOOL_EDIT) pTemp="EditBox";
85 else if(id==IDC_TOOL_GROUPBOX) pTemp="GroupBox";
86 else if(id==IDC_TOOL_COMBOBOX) pTemp="ComboBox";
87 else if(id==IDC_TOOL_LISTBOX) pTemp="ListBox";
88 else if(id==IDC_TOOL_BUTTON) pTemp="Button";
89 else if(id==IDC_TOOL_CHECKBOX) pTemp="CheckBox";
90 else if(id==IDC_TOOL_RADIOBUTTON) pTemp="RadioButton";
91 else if(id==IDC_TOOL_LISTVIEW) pTemp="ListView";
92 else if(id==IDC_TOOL_TREEVIEW) pTemp="TreeView";
93 else if(id==IDC_TOOL_HSCROLLBAR) pTemp="Horizontal Scrollbar";
94 else if(id==IDC_TOOL_VSCROLLBAR) pTemp="Vertical Scrollbar";
95 else if(id==IDC_TOOL_UPDOWN) pTemp="Up/Down Control";
96 else if(id==IDC_TOOL_IMAGEBOX) pTemp="ImageBox";
97 else if(id==IDC_TOOL_TRACKBAR) pTemp="Trackbar";
98 else if(id==IDC_TOOL_PROGRESSBAR) pTemp="Progressbar";
99#endif
100
101 return pTemp;
102}
103INT_PTR CALLBACK RadToolButtonsProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
104 int i,i2,WndNum;
105 HWND hParent;
106 HWND hToolBar;
107 RECT rect;
108 TBBUTTON CtrlToolBar[]={
109 {0,IDC_TOOL_MOUSE,TBSTATE_ENABLED|TBSTATE_WRAP|TBSTATE_CHECKED,TBSTYLE_CHECKGROUP,0,0},
110 {1,IDC_TOOL_STATIC,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
111 {2,IDC_TOOL_EDIT,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
112 {3,IDC_TOOL_GROUPBOX,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
113 {BMPNUM_RADTOOLBAR-1,0,TBSTATE_INDETERMINATE,TBSTYLE_CHECKGROUP,0,0},
114 {4,IDC_TOOL_COMBOBOX,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
115 {5,IDC_TOOL_LISTBOX,TBSTATE_ENABLED|TBSTATE_WRAP,TBSTYLE_CHECKGROUP,0,0},
116 {6,IDC_TOOL_BUTTON,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
117 {7,IDC_TOOL_CHECKBOX,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
118 {8,IDC_TOOL_RADIOBUTTON,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
119 {BMPNUM_RADTOOLBAR-1,0,TBSTATE_INDETERMINATE,TBSTYLE_CHECKGROUP,0,0},
120 {9,IDC_TOOL_LISTVIEW,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
121 {10,IDC_TOOL_TREEVIEW,TBSTATE_ENABLED|TBSTATE_WRAP,TBSTYLE_CHECKGROUP,0,0},
122 {11,IDC_TOOL_HSCROLLBAR,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
123 {12,IDC_TOOL_VSCROLLBAR,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
124 {13,IDC_TOOL_UPDOWN,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
125 {BMPNUM_RADTOOLBAR-1,0,TBSTATE_INDETERMINATE,TBSTYLE_CHECKGROUP,0,0},
126 {14,IDC_TOOL_IMAGEBOX,TBSTATE_ENABLED|TBSTATE_WRAP,TBSTYLE_CHECKGROUP,0,0},
127 {15,IDC_TOOL_TRACKBAR,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
128 {16,IDC_TOOL_PROGRESSBAR,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0},
129 };
130 TOOLTIPTEXT *pTipText;
131
132 switch(message){
133 case WM_INITDIALOG:
134 hToolBar=CreateToolbarEx(hwnd,WS_CHILD|WS_VISIBLE|CCS_NODIVIDER|TBSTYLE_FLAT|TBSTYLE_TOOLTIPS,
135 NULL,
136 BMPNUM_RADTOOLBAR, /*ビットマップの個数*/
137 hResInst,(unsigned int)MAKEINTRESOURCE(IDR_CONTROL),CtrlToolBar,
138 (BMPNUM_RADTOOLBAR-1)+SEPNUM_RADTOOLBAR, /*アイテムの個数*/
139 0,0,16,15,sizeof(TBBUTTON));
140
141 //Windows9x系OSでの不具合を防ぐため
142 PostMessage(hwnd,WM_USER+120,0,0);
143
144 ApplyDialogTexture(hwnd);
145 break;
146 case WM_USER+120:
147 GetClientRect(hwnd,&rect);
148 MoveWindow(hwnd,5,22,rect.right,rect.bottom,1);
149 MoveWindow(GetWindow(hwnd,GW_CHILD),0,0,rect.right,rect.bottom,1);
150 return 1;
151 case WM_COMMAND:
152 switch(LOWORD(wParam)){
153 case IDC_TOOL_MOUSE:
154 ShowControlAdvice(LOWORD(wParam));
155 hParent=GetParent(GetParent(hwnd));
156 BringWindowToTop(hParent);
157 i=GetWndNum(hParent);
158 i2=GetWndInfoNum(MdiInfo[i]->path);
159 MdiInfo[i]->MdiRadInfo->ButtonSelect=IDC_TOOL_MOUSE;
160 DrawSelectingRect(MdiInfo[i]->MdiRadInfo->hRad,i,i2,IDC_TOOL_MOUSE);
161 SetFocus(MdiInfo[i]->MdiRadInfo->hRad);
162 return 1;
163 case IDC_TOOL_BUTTON:
164 case IDC_TOOL_CHECKBOX:
165 case IDC_TOOL_COMBOBOX:
166 case IDC_TOOL_EDIT:
167 case IDC_TOOL_GROUPBOX:
168 case IDC_TOOL_HSCROLLBAR:
169 case IDC_TOOL_IMAGEBOX:
170 case IDC_TOOL_LISTBOX:
171 case IDC_TOOL_LISTVIEW:
172 case IDC_TOOL_PROGRESSBAR:
173 case IDC_TOOL_RADIOBUTTON:
174 case IDC_TOOL_STATIC:
175 case IDC_TOOL_TRACKBAR:
176 case IDC_TOOL_TREEVIEW:
177 case IDC_TOOL_UPDOWN:
178 case IDC_TOOL_VSCROLLBAR:
179 ShowControlAdvice(LOWORD(wParam));
180 hParent=GetParent(GetParent(hwnd));
181 BringWindowToTop(hParent);
182 WndNum=GetWndNum(hParent);
183 MdiInfo[WndNum]->MdiRadInfo->ButtonSelect=LOWORD(wParam);
184 InvalidateRect(MdiInfo[WndNum]->MdiRadInfo->hRad,NULL,0);
185 return 1;
186 }
187 break;
188 case WM_NOTIFY:
189 pTipText=(TOOLTIPTEXT *)lParam;
190 if(pTipText->hdr.code==TTN_NEEDTEXT){
191 //ステータスバーに説明文を表示
192 ShowControlAdvice(pTipText->hdr.idFrom);
193
194 //コントロール名を取得し、ツールヒントとして表示する
195 pTipText->lpszText=GetControlName(pTipText->hdr.idFrom);
196 }
197 break;
198 }
199 return 0;
200}
201LRESULT CALLBACK RadToolsWindow(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
202 extern HFONT hStatusFont;
203 int i;
204 RECT rect;
205 SCROLLINFO ScrollInfo;
206 HDC hdc;
207 PAINTSTRUCT ps;
208 HFONT hOldFont;
209 POINT pos;
210
211 switch(message){
212 case WM_CREATE:
213 CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_CTRLBUTTONS),hwnd,(DLGPROC)RadToolButtonsProc);
214 return 0;
215 case WM_VSCROLL:
216 ScrollInfo.cbSize=sizeof(SCROLLINFO);
217 ScrollInfo.fMask=SIF_POS|SIF_PAGE|SIF_RANGE;
218 GetScrollInfo(hwnd,SB_VERT,&ScrollInfo);
219 if(LOWORD(wParam)==SB_LINEUP) i=-20;
220 else if(LOWORD(wParam)==SB_LINEDOWN) i=20;
221 else if(LOWORD(wParam)==SB_PAGEUP) i=-(signed int)ScrollInfo.nPage;
222 else if(LOWORD(wParam)==SB_PAGEDOWN) i=ScrollInfo.nPage;
223 else if(LOWORD(wParam)==SB_THUMBTRACK) i=HIWORD(wParam)-ScrollInfo.nPos;
224 else i=0;
225 GetClientRect(hwnd,&rect);
226 i=max(-ScrollInfo.nPos,min(i,ScrollInfo.nMax-rect.bottom-ScrollInfo.nPos));
227 if(i!=0){
228 ScrollInfo.nPos+=i;
229 SetScrollInfo(hwnd,SB_VERT,&ScrollInfo,1);
230 ScrollWindow(hwnd,0,-i,NULL,NULL);
231 UpdateWindow(hwnd);
232 }
233 return 0;
234 case WM_SIZE:
235 GetClientRect(GetWindow(hwnd,GW_CHILD),&rect);
236 ScrollInfo.cbSize=sizeof(SCROLLINFO);
237 ScrollInfo.fMask=SIF_PAGE|SIF_RANGE|SIF_POS;
238
239 //垂直スクロールバーの設定
240 GetScrollInfo(hwnd,SB_VERT,&ScrollInfo);
241 ScrollInfo.nMin=0;
242 ScrollInfo.nMax=rect.bottom;
243 ScrollInfo.nPage=HIWORD(lParam);
244 SetScrollInfo(hwnd,SB_VERT,&ScrollInfo,1);
245
246 i=ScrollInfo.nPos;
247 ScrollInfo.fMask=SIF_POS;
248 GetScrollInfo(hwnd,SB_VERT,&ScrollInfo);
249 if(i>ScrollInfo.nPos){
250 ScrollWindow(hwnd,0,i-ScrollInfo.nPos,NULL,NULL);
251 UpdateWindow(hwnd);
252 }
253 return 0;
254 case WM_PAINT:
255 hdc=BeginPaint(hwnd,&ps);
256 hOldFont=(HFONT)SelectObject(hdc,hStatusFont);
257 SetBkMode(hdc,TRANSPARENT);
258 pos.x=30;
259 pos.y=3;
260 CursorPos_GlobalToLocal(hwnd,&pos.x,&pos.y);
261#if defined(JPN)
262 //日本語
263 TextOut(hdc,pos.x,pos.y,"- コントロール -",lstrlen("- コントロール -"));
264#else
265 //英語
266 TextOut(hdc,pos.x,pos.y,"- Control -",lstrlen("- Control -"));
267#endif
268 SelectObject(hdc,hOldFont);
269 EndPaint(hwnd,&ps);
270 return 0;
271 }
272 return DefWindowProc(hwnd,message,wParam,lParam);
273}
274
275
276/////////////////////////
277//ウィンドウ プロパティ
278
279void RadProperty_Window_Caption_StylingOrder(HWND hwnd,DWORD *style){
280 if((*style&WS_CAPTION)==WS_CAPTION){
281 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_SYSMENU),1);
282 if(!(*style&WS_CHILD)){
283 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MINIMIZEBOX),1);
284 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MAXIMIZEBOX),1);
285 }
286 if(SendDlgItemMessage(hwnd,IDC_BORDERSTYLE,CB_GETCURSEL,0,0)==0){
287 if(*style&WS_THICKFRAME) SendDlgItemMessage(hwnd,IDC_BORDERSTYLE,CB_SETCURSEL,2,0);
288 else SendDlgItemMessage(hwnd,IDC_BORDERSTYLE,CB_SETCURSEL,1,0);
289 }
290 }
291 else{
292 *style&=~(WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX);
293 SendDlgItemMessage(hwnd,IDC_STYLE_SYSMENU,BM_SETCHECK,BST_UNCHECKED,0);
294 SendDlgItemMessage(hwnd,IDC_STYLE_MINIMIZEBOX,BM_SETCHECK,BST_UNCHECKED,0);
295 SendDlgItemMessage(hwnd,IDC_STYLE_MAXIMIZEBOX,BM_SETCHECK,BST_UNCHECKED,0);
296 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_SYSMENU),0);
297 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MINIMIZEBOX),0);
298 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MAXIMIZEBOX),0);
299 }
300}
301void RadProperty_Window_Border_StylingOrder(HWND hwnd,DWORD *style){
302 if(*style&(WS_BORDER|WS_THICKFRAME)){
303 if(*style&(WS_POPUP|WS_CHILD)) EnableWindow(GetDlgItem(hwnd,IDC_STYLE_CAPTION),1);
304 else{
305 *style|=WS_CAPTION;
306 SendDlgItemMessage(hwnd,IDC_STYLE_CAPTION,BM_SETCHECK,BST_CHECKED,0);
307 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_CAPTION),0);
308 }
309 }
310 else{
311 *style&=~WS_CAPTION;
312 SendDlgItemMessage(hwnd,IDC_STYLE_CAPTION,BM_SETCHECK,BST_UNCHECKED,0);
313 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_CAPTION),0);
314 }
315 RadProperty_Window_Caption_StylingOrder(hwnd,style);
316}
317void RadProperty_Window_Window_StylingOrder(HWND hwnd,DWORD *style){
318 if(*style&WS_POPUP){
319 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_CAPTION),1);
320 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MINIMIZEBOX),1);
321 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MAXIMIZEBOX),1);
322 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MINIMIZE),1);
323 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MAXIMIZE),1);
324 }
325 else if(*style&WS_CHILD){
326 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_CAPTION),1);
327
328 *style&=~(WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_MINIMIZE|WS_MAXIMIZE);
329 SendDlgItemMessage(hwnd,IDC_STYLE_MINIMIZEBOX,BM_SETCHECK,BST_UNCHECKED,0);
330 SendDlgItemMessage(hwnd,IDC_STYLE_MAXIMIZEBOX,BM_SETCHECK,BST_UNCHECKED,0);
331 SendDlgItemMessage(hwnd,IDC_STYLE_MINIMIZE,BM_SETCHECK,BST_UNCHECKED,0);
332 SendDlgItemMessage(hwnd,IDC_STYLE_MAXIMIZE,BM_SETCHECK,BST_UNCHECKED,0);
333 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MINIMIZEBOX),0);
334 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MAXIMIZEBOX),0);
335 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MINIMIZE),0);
336 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MAXIMIZE),0);
337 }
338 else{
339 if(*style&WS_BORDER){
340 *style|=WS_CAPTION;
341 SendDlgItemMessage(hwnd,IDC_STYLE_CAPTION,BM_SETCHECK,BST_CHECKED,0);
342 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_CAPTION),0);
343
344 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MINIMIZEBOX),1);
345 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MAXIMIZEBOX),1);
346 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MINIMIZE),1);
347 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_MAXIMIZE),1);
348 }
349 }
350 RadProperty_Window_Border_StylingOrder(hwnd,style);
351}
352INT_PTR CALLBACK DlgRadProperty_Window_Rename(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
353 extern HANDLE hHeap;
354 extern HWND hClient,hOwner;
355 int i,i3;
356 char temporary[MAX_PATH],temp2[MAX_PATH];
357 switch(message){
358 case WM_INITDIALOG:
359 {
360 SetPosCenter(hwnd);
361 i=GetWndNum(GetWindow(hClient,GW_CHILD));
362 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
363 SetDlgItemText(hwnd,IDC_WINDOWNAME,pWindowInfo->GetName().c_str());
364 SetDlgItemText(hwnd,IDC_WINDOWHANDLE,( "h" + pWindowInfo->GetName() ).c_str());
365 SetDlgItemText(hwnd,IDC_WINDOWPROC,( pWindowInfo->GetName() + "Proc" ).c_str());
366 ApplyDialogTexture(hwnd);
367 break;
368 }
369 case WM_COMMAND:
370 switch(LOWORD(wParam)){
371 case IDOK:
372 {
373 if(GetWindowTextLength(GetDlgItem(hwnd,IDC_WINDOWNAME))==0){
374 //MsgBox "ウィンドウ識別名を入力して下さい。"
375 MessageBox(hOwner,STRING_WINDOW_RENAME_MUST_WINDOWNAME,APPLICATION_NAME,MB_OK|MB_ICONEXCLAMATION);
376 break;
377 }
378 if(GetWindowTextLength(GetDlgItem(hwnd,IDC_WINDOWHANDLE))==0){
379 //MsgBox "ハンドル名を入力して下さい。"
380 MessageBox(hOwner,STRING_WINDOW_RENAME_MUST_HANDLENAME,APPLICATION_NAME,MB_OK|MB_ICONEXCLAMATION);
381 break;
382 }
383 if(GetWindowTextLength(GetDlgItem(hwnd,IDC_WINDOWPROC))==0){
384 //MsgBox "プロシージャ名を入力して下さい。"
385 MessageBox(hOwner,STRING_WINDOW_RENAME_MUST_PROCEDURENAME,APPLICATION_NAME,MB_OK|MB_ICONEXCLAMATION);
386 break;
387 }
388
389 i=GetWndNum(GetWindow(hClient,GW_CHILD));
390 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
391
392 RAD_UNDOSTATE_NAME names,NoticeNames;
393
394 i3=GetWindowTextLength(GetDlgItem(hwnd,IDC_WINDOWNAME))+1;
395 GetDlgItemText(hwnd,IDC_WINDOWNAME,temporary,i3);
396 names.name = temporary;
397
398 if( names.name == pWindowInfo->GetName() )
399 {
400 SendMessage(hwnd,WM_COMMAND,IDCANCEL,0);
401 return 1;
402 }
403
404 //MsgBox "これらのウィンドウ識別名を変更すると、ソースコード内の識別子は手動で変換する必要があります。変更しますか?"
405 if(IDCANCEL==MessageBox(hwnd,STRING_WINDOW_RENAME_CHECK,APPLICATION_NAME,MB_OKCANCEL|MB_ICONEXCLAMATION)) return 1;
406
407 //変更情報を更新
408 NoticeNames.name=pWindowInfo->GetName();
409 Rad_NoticeChanging(i,RAD_UNDO_NAME,SELECT_WINDOW,(DWORD)&NoticeNames);
410
411 pWindowInfo->SetName( names.name );
412 MdiInfo[i]->path = names.name;
413
414 EndDialog(hwnd,1);
415 return 1;
416 }
417 case IDCANCEL:
418 EndDialog(hwnd,0);
419 return 1;
420 case IDC_WINDOWNAME:
421 {
422 GetDlgItemText(hwnd,IDC_WINDOWNAME,temporary,MAX_PATH);
423 if(temporary[0]){
424 sprintf(temp2,"h%s",temporary);
425 SetDlgItemText(hwnd,IDC_WINDOWHANDLE,temp2);
426 sprintf(temp2,"%sProc",temporary);
427 SetDlgItemText(hwnd,IDC_WINDOWPROC,temp2);
428 }
429 else{
430 SetDlgItemText(hwnd,IDC_WINDOWHANDLE,"");
431 SetDlgItemText(hwnd,IDC_WINDOWPROC,"");
432 }
433 }
434 return 1;
435 }
436 break;
437 }
438 return 0;
439}
440INT_PTR CALLBACK DlgRadProperty_Window_ExStyle(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
441 int i;
442
443 switch(message){
444 case WM_INITDIALOG:
445 {
446 SetPosCenter(hwnd);
447 i=GetWndNum(GetWindow(hClient,GW_CHILD));
448 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
449 if(pWindowInfo->GetExStyle()&WS_EX_TOPMOST) SendDlgItemMessage(hwnd,IDC_EXSTYLE_TOPMOST,BM_SETCHECK,BST_CHECKED,0);
450 if(pWindowInfo->GetExStyle()&WS_EX_ACCEPTFILES) SendDlgItemMessage(hwnd,IDC_EXSTYLE_ACCEPTFILES,BM_SETCHECK,BST_CHECKED,0);
451 if(pWindowInfo->GetExStyle()&WS_EX_TRANSPARENT) SendDlgItemMessage(hwnd,IDC_EXSTYLE_TRANSPARENT,BM_SETCHECK,BST_CHECKED,0);
452 if(pWindowInfo->GetExStyle()&WS_EX_TOOLWINDOW) SendDlgItemMessage(hwnd,IDC_EXSTYLE_TOOLWINDOW,BM_SETCHECK,BST_CHECKED,0);
453 if(pWindowInfo->GetExStyle()&WS_EX_CLIENTEDGE) SendDlgItemMessage(hwnd,IDC_EXSTYLE_CLIENTEDGE,BM_SETCHECK,BST_CHECKED,0);
454 if(pWindowInfo->GetExStyle()&WS_EX_STATICEDGE) SendDlgItemMessage(hwnd,IDC_EXSTYLE_STATICEDGE,BM_SETCHECK,BST_CHECKED,0);
455 if(pWindowInfo->GetExStyle()&WS_EX_NOPARENTNOTIFY) SendDlgItemMessage(hwnd,IDC_EXSTYLE_NOPARENTNOTIFY,BM_SETCHECK,BST_CHECKED,0);
456 if(pWindowInfo->GetExStyle()&WS_EX_CONTEXTHELP) SendDlgItemMessage(hwnd,IDC_EXSTYLE_CONTEXTHELP,BM_SETCHECK,BST_CHECKED,0);
457 if(pWindowInfo->GetExStyle()&WS_EX_CONTROLPARENT) SendDlgItemMessage(hwnd,IDC_EXSTYLE_CONTROLPARENT,BM_SETCHECK,BST_CHECKED,0);
458 ApplyDialogTexture(hwnd);
459 break;
460 }
461 case WM_COMMAND:
462 switch(LOWORD(wParam)){
463 case IDOK:
464 {
465 i=GetWndNum(GetWindow(hClient,GW_CHILD));
466
467 DWORD style;
468 style=0;
469 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_TOPMOST,BM_GETCHECK,0,0))
470 style|=WS_EX_TOPMOST;
471 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_ACCEPTFILES,BM_GETCHECK,0,0))
472 style|=WS_EX_ACCEPTFILES;
473 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_TRANSPARENT,BM_GETCHECK,0,0))
474 style|=WS_EX_TRANSPARENT;
475 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_TOOLWINDOW,BM_GETCHECK,0,0))
476 style|=WS_EX_TOOLWINDOW;
477 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_CLIENTEDGE,BM_GETCHECK,0,0))
478 style|=WS_EX_CLIENTEDGE;
479 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_STATICEDGE,BM_GETCHECK,0,0))
480 style|=WS_EX_STATICEDGE;
481 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_NOPARENTNOTIFY,BM_GETCHECK,0,0))
482 style|=WS_EX_NOPARENTNOTIFY;
483 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_CONTEXTHELP,BM_GETCHECK,0,0))
484 style|=WS_EX_CONTEXTHELP;
485 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_CONTROLPARENT,BM_GETCHECK,0,0))
486 style|=WS_EX_CONTROLPARENT;
487
488 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
489
490 if(style==pWindowInfo->GetExStyle()){
491 SendMessage(hwnd,WM_COMMAND,IDCANCEL,0);
492 return 1;
493 }
494
495 //変更情報
496 Rad_NoticeChanging(i,RAD_UNDO_EXSTYLE,SELECT_WINDOW,pWindowInfo->GetExStyle());
497
498 pWindowInfo->SetExStyle( style );
499 EndDialog(hwnd,1);
500 return 1;
501 }
502 case IDCANCEL:
503 EndDialog(hwnd,0);
504 return 1;
505 }
506 break;
507 }
508 return 0;
509}
510INT_PTR CALLBACK RadProperty_WindowProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
511 extern HANDLE hHeap;
512 int i,i3,i4;
513 static BOOL bInitial;
514
515 switch(message){
516 case WM_INITDIALOG:
517 {
518 bInitial=1;
519 i=GetWndNum(GetParent(GetParent(hwnd)));
520 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
521
522 SetDlgItemText(hwnd,IDC_WINDOWNAME,pWindowInfo->GetName().c_str());
523 SetDlgItemText(hwnd,IDC_HANDLE,pWindowInfo->GetHandleName().c_str());
524 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->GetCaption().c_str());
525
526 //"3D FACE(標準)"
527 SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_ADDSTRING,0,(LPARAM)STRING_WINDOWPROP_BGCOLOR1);
528 //"色指定"
529 SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_ADDSTRING,0,(LPARAM)STRING_WINDOWPROP_BGCOLOR2);
530
531 BOOST_FOREACH( const ActiveBasic::Common::ResourceItem &resourceItem, projectInfo.resourceManager.bitmapResources )
532 {
533 SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_ADDSTRING,0,(LPARAM)resourceItem.idName.c_str());
534 }
535 if( pWindowInfo->IsModalDlg() || pWindowInfo->IsModelessDlg() )
536 {
537 SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_SETCURSEL,0,0);
538 EnableWindow(GetDlgItem(hwnd,IDC_BGCOLOR),0);
539 }
540 else{
541 if(pWindowInfo->GetBackgroundColor()==COLOR_3DFACE){
542 //3DFACE
543 SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_SETCURSEL,0,0);
544 }
545 else if(pWindowInfo->GetBackgroundColor()<=0){
546 //色指定
547 SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_SETCURSEL,1,0);
548 }
549 else if(pWindowInfo->GetBackgroundColor()>=0x1000){
550 //ビットマップ指定
551 SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_SETCURSEL,2+pWindowInfo->GetBackgroundColor()-0x1000,0);
552 }
553 }
554
555
556 ////////////
557 // メニュー
558 ////////////
559
560 //"なし"
561 SendDlgItemMessage(hwnd,IDC_WINDOWMENU,CB_ADDSTRING,0,(LPARAM)STRING_NONE_);
562
563 for(i3=0,i4=0;i3<projectInfo.NumberOfMenu;i3++){
564 if( pWindowInfo->HasMenu() )
565 {
566 if(lstrcmpi(projectInfo.pMenuInfo[i3].IdName,pWindowInfo->GetMenuIdName().c_str())==0)
567 i4=i3+1;
568 }
569 SendDlgItemMessage(hwnd,IDC_WINDOWMENU,CB_ADDSTRING,0,(LPARAM)projectInfo.pMenuInfo[i3].IdName);
570 }
571 if(i4==0&&pWindowInfo->HasMenu()){
572 //メニューが存在しない場合、無効にする
573 pWindowInfo->SetMenuIdName( "" );
574 DrawRadWindow(i,pWindowInfo);
575 }
576 SendDlgItemMessage(hwnd,IDC_WINDOWMENU,CB_SETCURSEL,i4,0);
577
578
579 ////////////
580 // アイコン
581 ////////////
582
583 //"Windowsロゴ(標準)"
584 SendDlgItemMessage(hwnd,IDC_ICONRES,CB_ADDSTRING,0,(LPARAM)STRING_WINDOWPROP_ICONDEFAULT);
585
586 for(i3=0,i4=0;i3<static_cast<int>(projectInfo.resourceManager.iconResources.size());i3++){
587 SendDlgItemMessage(hwnd,IDC_ICONRES,CB_ADDSTRING,0,(LPARAM)projectInfo.resourceManager.iconResources[i3].idName.c_str());
588
589 if( pWindowInfo->HasIcon() )
590 {
591 if( projectInfo.resourceManager.iconResources[i3].idName == pWindowInfo->GetIconResourceName() )
592 {
593 i4=i3+1;
594 }
595 }
596 }
597 if( i4 == 0 && pWindowInfo->HasIcon() )
598 {
599 //アイコンが存在しない場合、無効にする
600 pWindowInfo->SetIconResourceName( "" );
601 DrawRadWindow(i,pWindowInfo);
602 }
603 SendDlgItemMessage(hwnd,IDC_ICONRES,CB_SETCURSEL,i4,0);
604
605
606 ////////////
607 // スタイル
608 ////////////
609
610 //"オーバーラップ"
611 SendDlgItemMessage(hwnd,IDC_WINDOWSTYLE,CB_ADDSTRING,0,(LPARAM)STRING_WINDOWPROP_STYLE_OVERLAPPED);
612 //"ポップアップ"
613 SendDlgItemMessage(hwnd,IDC_WINDOWSTYLE,CB_ADDSTRING,0,(LPARAM)STRING_WINDOWPROP_STYLE_POPUP);
614 //"チャイルド"
615 SendDlgItemMessage(hwnd,IDC_WINDOWSTYLE,CB_ADDSTRING,0,(LPARAM)STRING_WINDOWPROP_STYLE_CHILD);
616
617 if(pWindowInfo->GetStyle()&WS_POPUP) SendDlgItemMessage(hwnd,IDC_WINDOWSTYLE,CB_SETCURSEL,1,0);
618 else if(pWindowInfo->GetStyle()&WS_CHILD) SendDlgItemMessage(hwnd,IDC_WINDOWSTYLE,CB_SETCURSEL,2,0);
619 else SendDlgItemMessage(hwnd,IDC_WINDOWSTYLE,CB_SETCURSEL,0,0);
620
621 //"枠なし"
622 SendDlgItemMessage(hwnd,IDC_BORDERSTYLE,CB_ADDSTRING,0,(LPARAM)STRING_WINDOWPROP_STYLE_FRAME_NONE);
623 //"細枠"
624 SendDlgItemMessage(hwnd,IDC_BORDERSTYLE,CB_ADDSTRING,0,(LPARAM)STRING_WINDOWPROP_STYLE_FRAME_THICK);
625 //"サイズ変更枠"
626 SendDlgItemMessage(hwnd,IDC_BORDERSTYLE,CB_ADDSTRING,0,(LPARAM)STRING_WINDOWPROP_STYLE_FRAME_BORDER);
627
628 //WS_CAPTION(WS_BORDER含む)を考慮してWS_THICKFRAMEを最初に比較する
629 if(pWindowInfo->GetStyle()&WS_THICKFRAME) SendDlgItemMessage(hwnd,IDC_BORDERSTYLE,CB_SETCURSEL,2,0);
630 else if(pWindowInfo->GetStyle()&WS_BORDER) SendDlgItemMessage(hwnd,IDC_BORDERSTYLE,CB_SETCURSEL,1,0);
631 else SendDlgItemMessage(hwnd,IDC_BORDERSTYLE,CB_SETCURSEL,0,0);
632
633 if(pWindowInfo->GetStyle()&WS_CAPTION) SendDlgItemMessage(hwnd,IDC_STYLE_CAPTION,BM_SETCHECK,BST_CHECKED,0);
634 if(pWindowInfo->GetStyle()&WS_SYSMENU) SendDlgItemMessage(hwnd,IDC_STYLE_SYSMENU,BM_SETCHECK,BST_CHECKED,0);
635 if(pWindowInfo->GetStyle()&WS_MINIMIZEBOX) SendDlgItemMessage(hwnd,IDC_STYLE_MINIMIZEBOX,BM_SETCHECK,BST_CHECKED,0);
636 if(pWindowInfo->GetStyle()&WS_MAXIMIZEBOX) SendDlgItemMessage(hwnd,IDC_STYLE_MAXIMIZEBOX,BM_SETCHECK,BST_CHECKED,0);
637 if(pWindowInfo->GetStyle()&WS_MINIMIZE) SendDlgItemMessage(hwnd,IDC_STYLE_MINIMIZE,BM_SETCHECK,BST_CHECKED,0);
638 if(pWindowInfo->GetStyle()&WS_MAXIMIZE) SendDlgItemMessage(hwnd,IDC_STYLE_MAXIMIZE,BM_SETCHECK,BST_CHECKED,0);
639 if(pWindowInfo->GetStyle()&WS_HSCROLL) SendDlgItemMessage(hwnd,IDC_STYLE_HSCROLLBAR,BM_SETCHECK,BST_CHECKED,0);
640 if(pWindowInfo->GetStyle()&WS_VSCROLL) SendDlgItemMessage(hwnd,IDC_STYLE_VSCROLLBAR,BM_SETCHECK,BST_CHECKED,0);
641 if(pWindowInfo->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
642 if(pWindowInfo->GetStyle()&WS_CLIPSIBLINGS) SendDlgItemMessage(hwnd,IDC_STYLE_CLIPSIBLINGS,BM_SETCHECK,BST_CHECKED,0);
643 if(pWindowInfo->GetStyle()&WS_CLIPCHILDREN) SendDlgItemMessage(hwnd,IDC_STYLE_CLIPCHILDREN,BM_SETCHECK,BST_CHECKED,0);
644 if(pWindowInfo->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
645
646 SetDlgItemText(hwnd,IDC_SETFONT,pWindowInfo->LogFont.lfFaceName);
647
648 DWORD tempStyle = pWindowInfo->GetStyle();
649 RadProperty_Window_Window_StylingOrder(hwnd,&tempStyle);
650 pWindowInfo->SetStyle( tempStyle );
651
652
653 //////////
654 //タイプ
655 if( pWindowInfo->IsDefaultWindow() )
656 {
657 SendDlgItemMessage(hwnd,IDC_DEFWINDOW,BM_SETCHECK,BST_CHECKED,0);
658 }
659 else if( pWindowInfo->IsModalDlg() )
660 {
661 SendDlgItemMessage(hwnd,IDC_MODALDLG,BM_SETCHECK,BST_CHECKED,0);
662 }
663 else if( pWindowInfo->IsModelessDlg() )
664 {
665 SendDlgItemMessage(hwnd,IDC_MODELESSDLG,BM_SETCHECK,BST_CHECKED,0);
666 }
667 else
668 {
669 throw;
670 }
671
672
673 bInitial=0;
674 ApplyDialogTexture(hwnd);
675 break;
676 }
677 case WM_COMMAND:
678 switch(LOWORD(wParam)){
679 case IDC_RENAMEWINDOW:
680 {
681 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_WINDOW_RENAME),hwnd,DlgRadProperty_Window_Rename)) return 1;
682 i=GetWndNum(GetParent(GetParent(hwnd)));
683 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
684 SetDlgItemText(hwnd,IDC_WINDOWNAME,pWindowInfo->GetName().c_str());
685 SetDlgItemText(hwnd,IDC_HANDLE,pWindowInfo->GetHandleName().c_str());
686 return 1;
687 }
688 case IDC_RENAMECAPTION:
689 {
690 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_RENAMECAPTION),hwnd,DlgRadProperty_Item_RenameCaption)) return 1;
691 i=GetWndNum(GetParent(GetParent(hwnd)));
692 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
693 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->GetCaption().c_str());
694 return 1;
695 }
696 case IDC_SETFONT:
697 {
698 i=GetWndNum(GetParent(GetParent(hwnd)));
699 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
700 LOGFONT lf;
701 lf=pWindowInfo->LogFont;
702 if(!SetFontDialog(hwnd,&pWindowInfo->LogFont,0)) return 1;
703
704 //変更情報
705 Rad_NoticeChanging(i,RAD_UNDO_FONT,SELECT_WINDOW,(DWORD)&lf);
706
707 SetDlgItemText(hwnd,IDC_SETFONT,pWindowInfo->LogFont.lfFaceName);
708 DrawRadWindow(i,pWindowInfo);
709 return 1;
710 }
711 case IDC_BGCOLOR:
712 if(HIWORD(wParam)==CBN_SELCHANGE){
713 i=GetWndNum(GetParent(GetParent(hwnd)));
714 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
715
716 i3=SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_GETCURSEL,0,0);
717 if(i3==0){
718 //3DFACE
719
720 //変更情報
721 Rad_NoticeChanging(i,RAD_UNDO_BGCOLOR,SELECT_WINDOW,pWindowInfo->GetBackgroundColor());
722
723 pWindowInfo->SetBackgroundColor( COLOR_3DFACE );
724 }
725 else if(i3==1){
726 //色指定
727 CHOOSECOLOR cc;
728 COLORREF CusColors[16]={
729 RGB(255,255,255),
730 RGB(0,0,0),
731 RGB(128,128,128),
732 RGB(192,192,192),
733 RGB(128,0,0),
734 RGB(255,0,0),
735 RGB(128,128,0),
736 RGB(255,255,0),
737 RGB(0,128,0),
738 RGB(0,255,0),
739 RGB(0,128,128),
740 RGB(0,255,255),
741 RGB(0,0,128),
742 RGB(0,0,255),
743 RGB(128,0,128),
744 RGB(255,0,255)};
745 cc.lStructSize=sizeof(CHOOSECOLOR);
746 cc.hwndOwner=hwnd;
747 if(pWindowInfo->GetBackgroundColor()<=0)
748 cc.rgbResult=-pWindowInfo->GetBackgroundColor();
749 else cc.rgbResult=RGB(255,255,255);
750 cc.lpCustColors=CusColors;
751 cc.Flags=CC_RGBINIT|CC_FULLOPEN;
752 if(!ChooseColor(&cc)){
753 //キャンセル動作
754 if(pWindowInfo->GetBackgroundColor()==COLOR_3DFACE){
755 //3DFACE
756 SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_SETCURSEL,0,0);
757 }
758 else if(pWindowInfo->GetBackgroundColor()<=0){
759 //色指定
760 SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_SETCURSEL,1,0);
761 }
762 else if(pWindowInfo->GetBackgroundColor()>=0x1000){
763 //ビットマップ指定
764 SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_SETCURSEL,2+pWindowInfo->GetBackgroundColor()-0x1000,0);
765 }
766 return 1;
767 }
768
769 //変更情報
770 Rad_NoticeChanging(i,RAD_UNDO_BGCOLOR,SELECT_WINDOW,pWindowInfo->GetBackgroundColor());
771
772 pWindowInfo->SetBackgroundColor( -(int)cc.rgbResult );
773 }
774 else{
775 //ビットマップ
776 i3-=2;
777
778 //変更情報
779 Rad_NoticeChanging(i,RAD_UNDO_BGCOLOR,SELECT_WINDOW,pWindowInfo->GetBackgroundColor());
780
781 pWindowInfo->SetBackgroundColor( 0x1000+i3 );
782 }
783 DrawRadWindow(i,pWindowInfo);
784 return 1;
785 }
786 break;
787 case IDC_WINDOWMENU:
788 if(HIWORD(wParam)==CBN_SELCHANGE){
789 i=GetWndNum(GetParent(GetParent(hwnd)));
790 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
791
792 //変更情報
793 Rad_NoticeChanging(i,RAD_UNDO_WINDOWMENU,SELECT_WINDOW,(DWORD)&pWindowInfo->GetMenuIdName());
794
795 i3=SendDlgItemMessage(hwnd,IDC_WINDOWMENU,CB_GETCURSEL,0,0);
796
797 if(i3==0)
798 {
799 pWindowInfo->SetMenuIdName( "" );
800 }
801 else
802 {
803 char temporary[1024];
804 SendDlgItemMessage(hwnd,IDC_WINDOWMENU,CB_GETLBTEXT,i3,(LPARAM)temporary);
805 pWindowInfo->SetMenuIdName( temporary );
806 }
807 DrawRadWindow(i,pWindowInfo);
808 return 1;
809 }
810 break;
811 case IDC_ICONRES:
812 if(HIWORD(wParam)==CBN_SELCHANGE){
813 i=GetWndNum(GetParent(GetParent(hwnd)));
814 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
815
816 //変更情報
817 Rad_NoticeChanging(i,RAD_UNDO_ICONRES,SELECT_WINDOW,(DWORD)&pWindowInfo->GetIconResourceName());
818
819 i3=SendDlgItemMessage(hwnd,IDC_ICONRES,CB_GETCURSEL,0,0);
820 if(i3==0)
821 {
822 pWindowInfo->SetIconResourceName( "" );
823 }
824 else
825 {
826 char temporary[1024];
827 SendDlgItemMessage(hwnd,IDC_ICONRES,CB_GETLBTEXT,i3,(LPARAM)temporary);
828 pWindowInfo->SetIconResourceName( temporary );
829 }
830 DrawRadWindow(i,pWindowInfo);
831 return 1;
832 }
833 break;
834
835 case IDC_WINDOWSTYLE:
836 if(HIWORD(wParam)==CBN_SELCHANGE){
837 i=GetWndNum(GetParent(GetParent(hwnd)));
838 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
839
840 //変更情報
841 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
842
843 i3=SendDlgItemMessage(hwnd,IDC_WINDOWSTYLE,CB_GETCURSEL,0,0);
844 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & 0x3FFFFFFF );
845 if(i3==1) pWindowInfo->AddStyle( WS_POPUP );
846 else if(i3==2) pWindowInfo->AddStyle( WS_CHILD );
847
848 DWORD tempStyle = pWindowInfo->GetStyle();
849 RadProperty_Window_Window_StylingOrder(hwnd,&tempStyle);
850 pWindowInfo->SetStyle( tempStyle );
851
852 DrawRadWindow(i,pWindowInfo);
853 return 1;
854 }
855 break;
856 case IDC_BORDERSTYLE:
857 if(HIWORD(wParam)==CBN_SELCHANGE){
858 i=GetWndNum(GetParent(GetParent(hwnd)));
859 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
860
861 //変更情報
862 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
863
864 i3=SendDlgItemMessage(hwnd,IDC_BORDERSTYLE,CB_GETCURSEL,0,0);
865 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~(WS_BORDER|WS_THICKFRAME) );
866 if(i3==1) pWindowInfo->AddStyle( WS_BORDER );
867 else if(i3==2){
868 pWindowInfo->AddStyle( WS_BORDER );
869 pWindowInfo->AddStyle( WS_THICKFRAME );
870 }
871 DWORD tempStyle = pWindowInfo->GetStyle();
872 RadProperty_Window_Border_StylingOrder(hwnd,&tempStyle);
873 pWindowInfo->SetStyle( tempStyle );
874
875 DrawRadWindow(i,pWindowInfo);
876 return 1;
877 }
878 break;
879
880 case IDC_STYLE_CAPTION:
881 if(HIWORD(wParam)==BN_CLICKED){
882 i=GetWndNum(GetParent(GetParent(hwnd)));
883 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
884
885 //変更情報
886 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
887
888 if(SendDlgItemMessage(hwnd,IDC_STYLE_CAPTION,BM_GETCHECK,0,0))
889 pWindowInfo->AddStyle( WS_CAPTION );
890 else
891 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~WS_CAPTION );
892 DWORD tempStyle = pWindowInfo->GetStyle();
893 RadProperty_Window_Caption_StylingOrder(hwnd,&tempStyle);
894 pWindowInfo->SetStyle( tempStyle );
895 DrawRadWindow(i,pWindowInfo);
896 return 1;
897 }
898 break;
899 case IDC_STYLE_SYSMENU:
900 if(HIWORD(wParam)==BN_CLICKED){
901 i=GetWndNum(GetParent(GetParent(hwnd)));
902 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
903
904 //変更情報
905 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
906
907 if(SendDlgItemMessage(hwnd,IDC_STYLE_SYSMENU,BM_GETCHECK,0,0))
908 pWindowInfo->AddStyle( WS_SYSMENU );
909 else
910 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~WS_SYSMENU );
911 DrawRadWindow(i,pWindowInfo);
912 return 1;
913 }
914 break;
915 case IDC_STYLE_MINIMIZEBOX:
916 if(HIWORD(wParam)==BN_CLICKED){
917 i=GetWndNum(GetParent(GetParent(hwnd)));
918 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
919
920 //変更情報
921 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
922
923 if(SendDlgItemMessage(hwnd,IDC_STYLE_MINIMIZEBOX,BM_GETCHECK,0,0))
924 pWindowInfo->AddStyle( WS_MINIMIZEBOX );
925 else
926 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~WS_MINIMIZEBOX );
927 DrawRadWindow(i,pWindowInfo);
928 return 1;
929 }
930 break;
931 case IDC_STYLE_MAXIMIZEBOX:
932 if(HIWORD(wParam)==BN_CLICKED){
933 i=GetWndNum(GetParent(GetParent(hwnd)));
934 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
935
936 //変更情報
937 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
938
939 if(SendDlgItemMessage(hwnd,IDC_STYLE_MAXIMIZEBOX,BM_GETCHECK,0,0))
940 pWindowInfo->AddStyle( WS_MAXIMIZEBOX );
941 else
942 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~WS_MAXIMIZEBOX );
943 DrawRadWindow(i,pWindowInfo);
944 return 1;
945 }
946 break;
947 case IDC_STYLE_MINIMIZE:
948 if(HIWORD(wParam)==BN_CLICKED){
949 i=GetWndNum(GetParent(GetParent(hwnd)));
950 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
951
952 //変更情報
953 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
954
955 if(SendDlgItemMessage(hwnd,IDC_STYLE_MINIMIZE,BM_GETCHECK,0,0))
956 pWindowInfo->AddStyle( WS_MINIMIZE );
957 else
958 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~WS_MINIMIZE );
959 DrawRadWindow(i,pWindowInfo);
960 return 1;
961 }
962 break;
963 case IDC_STYLE_MAXIMIZE:
964 if(HIWORD(wParam)==BN_CLICKED){
965 i=GetWndNum(GetParent(GetParent(hwnd)));
966 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
967
968 //変更情報
969 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
970
971 if(SendDlgItemMessage(hwnd,IDC_STYLE_MAXIMIZE,BM_GETCHECK,0,0))
972 pWindowInfo->AddStyle( WS_MAXIMIZE );
973 else
974 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~WS_MAXIMIZE );
975 DrawRadWindow(i,pWindowInfo);
976 return 1;
977 }
978 case IDC_STYLE_HSCROLLBAR:
979 if(HIWORD(wParam)==BN_CLICKED){
980 i=GetWndNum(GetParent(GetParent(hwnd)));
981 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
982
983 //変更情報
984 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
985
986 if(SendDlgItemMessage(hwnd,IDC_STYLE_HSCROLLBAR,BM_GETCHECK,0,0))
987 pWindowInfo->AddStyle( WS_HSCROLL );
988 else
989 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~WS_HSCROLL );
990 DrawRadWindow(i,pWindowInfo);
991 return 1;
992 }
993 case IDC_STYLE_VSCROLLBAR:
994 if(HIWORD(wParam)==BN_CLICKED){
995 i=GetWndNum(GetParent(GetParent(hwnd)));
996 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
997
998 //変更情報
999 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
1000
1001 if(SendDlgItemMessage(hwnd,IDC_STYLE_VSCROLLBAR,BM_GETCHECK,0,0))
1002 pWindowInfo->AddStyle( WS_VSCROLL );
1003 else
1004 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~WS_VSCROLL );
1005 DrawRadWindow(i,pWindowInfo);
1006 return 1;
1007 }
1008 break;
1009 case IDC_STYLE_DISABLED:
1010 if(HIWORD(wParam)==BN_CLICKED){
1011 i=GetWndNum(GetParent(GetParent(hwnd)));
1012 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1013
1014 //変更情報
1015 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
1016
1017 if(SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_GETCHECK,0,0))
1018 pWindowInfo->AddStyle( WS_DISABLED );
1019 else
1020 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~WS_DISABLED );
1021 DrawRadWindow(i,pWindowInfo);
1022 return 1;
1023 }
1024 break;
1025 case IDC_STYLE_CLIPSIBLINGS:
1026 if(HIWORD(wParam)==BN_CLICKED){
1027 i=GetWndNum(GetParent(GetParent(hwnd)));
1028 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1029
1030 //変更情報
1031 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
1032
1033 if(SendDlgItemMessage(hwnd,IDC_STYLE_CLIPSIBLINGS,BM_GETCHECK,0,0))
1034 pWindowInfo->AddStyle( WS_CLIPSIBLINGS );
1035 else
1036 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~WS_CLIPSIBLINGS );
1037 DrawRadWindow(i,pWindowInfo);
1038 return 1;
1039 }
1040 break;
1041 case IDC_STYLE_CLIPCHILDREN:
1042 if(HIWORD(wParam)==BN_CLICKED){
1043 i=GetWndNum(GetParent(GetParent(hwnd)));
1044 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1045
1046 //変更情報
1047 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
1048
1049 if(SendDlgItemMessage(hwnd,IDC_STYLE_CLIPCHILDREN,BM_GETCHECK,0,0))
1050 pWindowInfo->AddStyle( WS_CLIPCHILDREN );
1051 else
1052 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~WS_CLIPCHILDREN );
1053 DrawRadWindow(i,pWindowInfo);
1054 return 1;
1055 }
1056 break;
1057 case IDC_STYLE_VISIBLE:
1058 if(HIWORD(wParam)==BN_CLICKED){
1059 i=GetWndNum(GetParent(GetParent(hwnd)));
1060 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1061
1062 //変更情報
1063 Rad_NoticeChanging(i,RAD_UNDO_STYLE,SELECT_WINDOW,pWindowInfo->GetStyle());
1064
1065 if(SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_GETCHECK,0,0))
1066 pWindowInfo->AddStyle( WS_VISIBLE );
1067 else
1068 pWindowInfo->SetStyle( pWindowInfo->GetStyle() & ~WS_VISIBLE );
1069 DrawRadWindow(i,pWindowInfo);
1070 return 1;
1071 }
1072 break;
1073
1074 case IDC_EXSTYLE:
1075 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_WINDOW_EXSTYLE),hwnd,DlgRadProperty_Window_ExStyle)) return 1;
1076 i=GetWndNum(GetParent(GetParent(hwnd)));
1077 DrawRadWindow(i,GetWndInfo(MdiInfo[i]->path));
1078 return 1;
1079
1080 case IDC_DEFWINDOW:
1081 case IDC_MODALDLG:
1082 case IDC_MODELESSDLG:
1083 if(HIWORD(wParam)==BN_CLICKED){
1084 i=GetWndNum(GetParent(GetParent(hwnd)));
1085 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1086
1087 //変更情報
1088 Rad_NoticeChanging(i,RAD_UNDO_TYPE,SELECT_WINDOW,(DWORD)pWindowInfo->GetType());
1089
1090 if(SendDlgItemMessage(hwnd,IDC_DEFWINDOW,BM_GETCHECK,0,0))
1091 {
1092 pWindowInfo->SetType( ActiveBasic::PM::WindowType::Default );
1093 }
1094 else if(SendDlgItemMessage(hwnd,IDC_MODALDLG,BM_GETCHECK,0,0))
1095 {
1096 pWindowInfo->SetType( ActiveBasic::PM::WindowType::ModalDlg );
1097 }
1098 else if(SendDlgItemMessage(hwnd,IDC_MODELESSDLG,BM_GETCHECK,0,0))
1099 {
1100 pWindowInfo->SetType( ActiveBasic::PM::WindowType::ModelessDlg );
1101 }
1102 return 1;
1103 }
1104 break;
1105 }
1106 break;
1107 }
1108 return 0;
1109}
1110
1111INT_PTR CALLBACK DlgRadProperty_Item_RenameCaption(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
1112 extern HANDLE hHeap;
1113 int i,i3;
1114 char *temporary;
1115 POINTANDSIZE PointAndSize;
1116
1117 switch(message){
1118 case WM_INITDIALOG:
1119 {
1120 SetPosCenter(hwnd);
1121 i=GetWndNum(GetWindow(hClient,GW_CHILD));
1122 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1123 if(MdiInfo[i]->MdiRadInfo->SelectingItem[0]==SELECT_WINDOW)
1124 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->GetCaption().c_str());
1125 else
1126 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetCaption().c_str());
1127 ApplyDialogTexture(hwnd);
1128 break;
1129 }
1130 case WM_COMMAND:
1131 switch(LOWORD(wParam)){
1132 case IDOK:
1133 {
1134 i=GetWndNum(GetWindow(hClient,GW_CHILD));
1135 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1136
1137 i3=GetWindowTextLength(GetDlgItem(hwnd,IDC_CAPTION))+1;
1138 temporary=(char *)HeapAlloc(hHeap,0,i3);
1139 GetDlgItemText(hwnd,IDC_CAPTION,temporary,i3);
1140 if(MdiInfo[i]->MdiRadInfo->SelectingItem[0]==SELECT_WINDOW){
1141 if( pWindowInfo->GetCaption() == temporary){
1142 HeapDefaultFree(temporary);
1143 SendMessage(hwnd,WM_COMMAND,IDCANCEL,0);
1144 return 1;
1145 }
1146
1147 //変更情報を更新
1148 Rad_NoticeChanging(i,RAD_UNDO_CAPTION,MdiInfo[i]->MdiRadInfo->SelectingItem[0],(DWORD)&pWindowInfo->GetCaption());
1149
1150 pWindowInfo->SetCaption( temporary );
1151 }
1152 else{
1153 if( pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetCaption() == temporary )
1154 {
1155 HeapDefaultFree(temporary);
1156 SendMessage(hwnd,WM_COMMAND,IDCANCEL,0);
1157 return 1;
1158 }
1159
1160 //変更情報を更新
1161 Rad_NoticeChanging(i,RAD_UNDO_CAPTION,MdiInfo[i]->MdiRadInfo->SelectingItem[0],(DWORD)&pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetCaption());
1162
1163 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->SetCaption( temporary );
1164
1165 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->Control==CT_STATIC){
1166 //スタティック テキスト
1167 //テキストが表示できるようにサイズを拡大する
1168
1169 PointAndSize.pos=pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->pos;
1170 PointAndSize.size=pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->size;
1171 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i]->MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize);
1172
1173 HFONT hFont,hOldFont;
1174 hFont=CreateFontIndirect(&pWindowInfo->LogFont);
1175 hOldFont=(HFONT)SelectObject(MdiInfo[i]->MdiRadInfo->hMemDC,hFont);
1176 GetTextExtentPoint32(MdiInfo[i]->MdiRadInfo->hMemDC,temporary,lstrlen(temporary),&PointAndSize.size);
1177 SelectObject(MdiInfo[i]->MdiRadInfo->hMemDC,hOldFont);
1178 DeleteObject(hFont);
1179
1180 //テキストの終端に余裕を持たせる
1181 PointAndSize.size.cx+=5;
1182
1183 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->size.cx<PointAndSize.size.cx)
1184 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->size.cx=PointAndSize.size.cx;
1185 }
1186 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->Control==CT_CHECKBOX){
1187 //チェック ボックス
1188 //テキストが表示できるようにサイズを拡大する
1189
1190 PointAndSize.pos=pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->pos;
1191 PointAndSize.size=pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->size;
1192 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i]->MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize);
1193
1194 HFONT hFont,hOldFont;
1195 hFont=CreateFontIndirect(&pWindowInfo->LogFont);
1196 hOldFont=(HFONT)SelectObject(MdiInfo[i]->MdiRadInfo->hMemDC,hFont);
1197 GetTextExtentPoint32(MdiInfo[i]->MdiRadInfo->hMemDC,temporary,lstrlen(temporary),&PointAndSize.size);
1198 SelectObject(MdiInfo[i]->MdiRadInfo->hMemDC,hOldFont);
1199 DeleteObject(hFont);
1200
1201 //テキストの終端に余裕を持たせる
1202 PointAndSize.size.cx+=21;
1203
1204 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->size.cx<PointAndSize.size.cx)
1205 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->size.cx=PointAndSize.size.cx;
1206 }
1207 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->Control==CT_RADIOBUTTON){
1208 //ラジオ ボックス
1209 //テキストが表示できるようにサイズを拡大する
1210
1211 PointAndSize.pos=pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->pos;
1212 PointAndSize.size=pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->size;
1213 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i]->MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize);
1214
1215 HFONT hFont,hOldFont;
1216 hFont=CreateFontIndirect(&pWindowInfo->LogFont);
1217 hOldFont=(HFONT)SelectObject(MdiInfo[i]->MdiRadInfo->hMemDC,hFont);
1218 GetTextExtentPoint32(MdiInfo[i]->MdiRadInfo->hMemDC,temporary,lstrlen(temporary),&PointAndSize.size);
1219 SelectObject(MdiInfo[i]->MdiRadInfo->hMemDC,hOldFont);
1220 DeleteObject(hFont);
1221
1222 //テキストの終端に余裕を持たせる
1223 PointAndSize.size.cx+=20;
1224
1225 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->size.cx<PointAndSize.size.cx)
1226 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->size.cx=PointAndSize.size.cx;
1227 }
1228 }
1229 DrawRadWindow(i,pWindowInfo);
1230 EndDialog(hwnd,1);
1231
1232 HeapDefaultFree(temporary);
1233 return 1;
1234 }
1235 case IDCANCEL:
1236 EndDialog(hwnd,0);
1237 return 1;
1238 }
1239 break;
1240 }
1241 return 0;
1242}
1243INT_PTR CALLBACK DlgRadProperty_Item_RenameID(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
1244 extern HANDLE hHeap;
1245 extern HWND hClient,hOwner;
1246 int i,i3;
1247 char *temporary;
1248
1249 switch(message){
1250 case WM_INITDIALOG:
1251 {
1252 SetPosCenter(hwnd);
1253 i=GetWndNum(GetWindow(hClient,GW_CHILD));
1254 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1255 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
1256 ApplyDialogTexture(hwnd);
1257 }
1258 break;
1259 case WM_COMMAND:
1260 switch(LOWORD(wParam)){
1261 case IDOK:
1262 {
1263 i=GetWndNum(GetWindow(hClient,GW_CHILD));
1264 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1265
1266 i3=GetWindowTextLength(GetDlgItem(hwnd,IDC_IDNAME))+1;
1267 if(i3==1){
1268 //MsgBox "ID名を入力して下さい。"
1269 MessageBox(hOwner,STRING_ITEM_RENAME_MUST_ID,APPLICATION_NAME,MB_OK|MB_ICONEXCLAMATION);
1270 break;
1271 }
1272 temporary=(char *)HeapAlloc(hHeap,0,i3);
1273 GetDlgItemText(hwnd,IDC_IDNAME,temporary,i3);
1274 if( pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName() == temporary )
1275 {
1276 HeapDefaultFree(temporary);
1277 SendMessage(hwnd,WM_COMMAND,IDCANCEL,0);
1278 return 1;
1279 }
1280
1281 //MsgBox "アイテムのID名を変更すると、ソースコード内のID名は手動で変換する必要があります。変更しますか?"
1282 if(IDCANCEL==MessageBox(hwnd,STRING_ITEM_RENAME_CHECK,APPLICATION_NAME,MB_OKCANCEL|MB_ICONEXCLAMATION)) return 1;
1283
1284 //変更情報を更新
1285 Rad_NoticeChanging(i,RAD_UNDO_NAME,MdiInfo[i]->MdiRadInfo->SelectingItem[0],(DWORD)&pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName());
1286
1287 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->SetName( temporary );
1288
1289 EndDialog(hwnd,1);
1290 return 1;
1291 }
1292 case IDCANCEL:
1293 EndDialog(hwnd,0);
1294 return 1;
1295 }
1296 break;
1297 }
1298 return 0;
1299}
1300BOOL DefaultItemStyles(HWND hwnd,int WndNum,int WndInfoNum,WPARAM wParam){
1301 extern HANDLE hHeap;
1302
1303 ActiveBasic::PM::WindowInfo *pWindowInfo = projectInfo.windowInfos[WndInfoNum];
1304
1305 switch(LOWORD(wParam)){
1306 case IDC_RENAMEID:
1307 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_RENAMEID),hwnd,DlgRadProperty_Item_RenameID)) return 1;
1308 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
1309 return 1;
1310 case IDC_RENAMECAPTION:
1311 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_RENAMECAPTION),hwnd,DlgRadProperty_Item_RenameCaption)) return 1;
1312 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->GetCaption().c_str());
1313 return 1;
1314 case IDC_STYLE_DISABLED:
1315 if(HIWORD(wParam)==BN_CLICKED){
1316 //変更情報
1317 Rad_NoticeChanging(WndNum,RAD_UNDO_STYLE,MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1318
1319 if(SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_GETCHECK,0,0))
1320 pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->AddStyle( WS_DISABLED );
1321 else
1322 pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( WS_DISABLED );
1323 DrawRadWindow(WndNum,pWindowInfo);
1324 return 1;
1325 }
1326 break;
1327 case IDC_STYLE_VISIBLE:
1328 if(HIWORD(wParam)==BN_CLICKED){
1329 //変更情報
1330 Rad_NoticeChanging(WndNum,RAD_UNDO_STYLE,MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1331
1332 if(SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_GETCHECK,0,0))
1333 pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->AddStyle( WS_VISIBLE );
1334 else
1335 pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( WS_VISIBLE );
1336 return 1;
1337 }
1338 break;
1339 case IDC_STYLE_GROUP:
1340 if(HIWORD(wParam)==BN_CLICKED){
1341 //変更情報
1342 Rad_NoticeChanging(WndNum,RAD_UNDO_STYLE,MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1343
1344 if(SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_GETCHECK,0,0))
1345 pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->AddStyle( WS_GROUP );
1346 else
1347 pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( WS_GROUP );
1348 return 1;
1349 }
1350 break;
1351 case IDC_STYLE_TABSTOP:
1352 if(HIWORD(wParam)==BN_CLICKED){
1353 //変更情報
1354 Rad_NoticeChanging(WndNum,RAD_UNDO_STYLE,MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1355
1356 if(SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_GETCHECK,0,0))
1357 pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->AddStyle( WS_TABSTOP );
1358 else
1359 pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( WS_TABSTOP );
1360 return 1;
1361 }
1362 break;
1363 }
1364 return 0;
1365}
1366INT_PTR CALLBACK DlgRadProperty_Item_ExStyle(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
1367 int i;
1368
1369 switch(message){
1370 case WM_INITDIALOG:
1371 {
1372 SetPosCenter(hwnd);
1373 i=GetWndNum(GetWindow(hClient,GW_CHILD));
1374 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1375 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetExStyle()&WS_EX_ACCEPTFILES) SendDlgItemMessage(hwnd,IDC_EXSTYLE_ACCEPTFILES,BM_SETCHECK,BST_CHECKED,0);
1376 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetExStyle()&WS_EX_TRANSPARENT) SendDlgItemMessage(hwnd,IDC_EXSTYLE_TRANSPARENT,BM_SETCHECK,BST_CHECKED,0);
1377 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetExStyle()&WS_EX_DLGMODALFRAME) SendDlgItemMessage(hwnd,IDC_EXSTYLE_DLGMODALFRAME,BM_SETCHECK,BST_CHECKED,0);
1378 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetExStyle()&WS_EX_CLIENTEDGE) SendDlgItemMessage(hwnd,IDC_EXSTYLE_CLIENTEDGE,BM_SETCHECK,BST_CHECKED,0);
1379 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetExStyle()&WS_EX_STATICEDGE) SendDlgItemMessage(hwnd,IDC_EXSTYLE_STATICEDGE,BM_SETCHECK,BST_CHECKED,0);
1380 ApplyDialogTexture(hwnd);
1381 break;
1382 }
1383 case WM_COMMAND:
1384 switch(LOWORD(wParam)){
1385 case IDOK:
1386 {
1387 i=GetWndNum(GetWindow(hClient,GW_CHILD));
1388 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1389
1390 DWORD style;
1391 style=0;
1392 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_ACCEPTFILES,BM_GETCHECK,0,0))
1393 style|=WS_EX_ACCEPTFILES;
1394 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_TRANSPARENT,BM_GETCHECK,0,0))
1395 style|=WS_EX_TRANSPARENT;
1396 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_DLGMODALFRAME,BM_GETCHECK,0,0))
1397 style|=WS_EX_DLGMODALFRAME;
1398 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_CLIENTEDGE,BM_GETCHECK,0,0))
1399 style|=WS_EX_CLIENTEDGE;
1400 if(SendDlgItemMessage(hwnd,IDC_EXSTYLE_STATICEDGE,BM_GETCHECK,0,0))
1401 style|=WS_EX_STATICEDGE;
1402
1403 if(style==pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetExStyle()){
1404 SendMessage(hwnd,WM_COMMAND,IDCANCEL,0);
1405 return 1;
1406 }
1407
1408 //変更情報
1409 Rad_NoticeChanging(i,RAD_UNDO_EXSTYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetExStyle());
1410
1411 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->SetExStyle( style );
1412 EndDialog(hwnd,1);
1413 return 1;
1414 }
1415 case IDCANCEL:
1416 EndDialog(hwnd,0);
1417 return 1;
1418 }
1419 break;
1420 }
1421 return 0;
1422}
1423
1424
1425/////////////////////
1426// BUTTON プロパティ
1427
1428INT_PTR CALLBACK RadProperty_ButtonProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
1429 int i,i2,i3;
1430 static BOOL bInitial;
1431
1432 switch(message){
1433 case WM_INITDIALOG:
1434 {
1435 bInitial=1;
1436 i=GetWndNum(GetParent(GetParent(hwnd)));
1437 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1438
1439 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
1440 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetCaption().c_str());
1441
1442
1443 ////////////
1444 //スタイル
1445
1446 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
1447 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
1448 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
1449 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
1450
1451 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_OWNERDRAW)==BS_OWNERDRAW) SendDlgItemMessage(hwnd,IDC_BS_OWNERDRAW,BM_SETCHECK,BST_CHECKED,0);
1452 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_DEFPUSHBUTTON) SendDlgItemMessage(hwnd,IDC_BS_DEFPUSHBUTTON,BM_SETCHECK,BST_CHECKED,0);
1453
1454 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_ICON) SendDlgItemMessage(hwnd,IDC_BS_ICON,BM_SETCHECK,BST_CHECKED,0);
1455 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_BITMAP) SendDlgItemMessage(hwnd,IDC_BS_BITMAP,BM_SETCHECK,BST_CHECKED,0);
1456 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_MULTILINE) SendDlgItemMessage(hwnd,IDC_BS_MULTILINE,BM_SETCHECK,BST_CHECKED,0);
1457 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_NOTIFY) SendDlgItemMessage(hwnd,IDC_BS_NOTIFY,BM_SETCHECK,BST_CHECKED,0);
1458
1459
1460 //////////////////
1461 // 水平方向の配置
1462 //////////////////
1463
1464 //"デフォルト"
1465 SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_ADDSTRING,0,(LONG_PTR)STRING_DEFAULT);
1466 //"左端"
1467 SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_ADDSTRING,0,(LONG_PTR)STRING_LEFT);
1468 //"右端"
1469 SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_ADDSTRING,0,(LONG_PTR)STRING_RIGHT);
1470 //"中央"
1471 SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_ADDSTRING,0,(LONG_PTR)STRING_CENTER);
1472
1473 //ビットを考慮してBS_CENTERを最初に比較する
1474 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_CENTER)==BS_CENTER) SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_SETCURSEL,3,0);
1475 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_LEFT) SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_SETCURSEL,1,0);
1476 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_RIGHT) SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_SETCURSEL,2,0);
1477 else SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_SETCURSEL,0,0);
1478
1479
1480 //////////////////
1481 // 垂直方向の配置
1482 //////////////////
1483
1484 //"デフォルト"
1485 SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_ADDSTRING,0,(LONG_PTR)STRING_DEFAULT);
1486 //"上端"
1487 SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_ADDSTRING,0,(LONG_PTR)STRING_TOP);
1488 //"下端"
1489 SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_ADDSTRING,0,(LONG_PTR)STRING_BOTTOM);
1490 //"中央"
1491 SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_ADDSTRING,0,(LONG_PTR)STRING_CENTER);
1492
1493 //ビットを考慮してBS_VCENTERを最初に比較する
1494 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_VCENTER)==BS_VCENTER) SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_SETCURSEL,3,0);
1495 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_TOP) SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_SETCURSEL,1,0);
1496 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_BOTTOM) SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_SETCURSEL,2,0);
1497 else SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_SETCURSEL,0,0);
1498
1499 bInitial=0;
1500 ApplyDialogTexture(hwnd);
1501 break;
1502 }
1503 case WM_COMMAND:
1504 {
1505 i=GetWndNum(GetParent(GetParent(hwnd)));
1506 if(i==-1) return 1;
1507 i2=GetWndInfoNum(MdiInfo[i]->path);
1508 ActiveBasic::PM::WindowInfo *pWindowInfo = projectInfo.windowInfos[i2];
1509
1510 //共通スタイル
1511 if(bInitial==0){
1512 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
1513 }
1514
1515 switch(LOWORD(wParam)){
1516 case IDC_BS_DEFPUSHBUTTON:
1517 if(HIWORD(wParam)==BN_CLICKED){
1518 //変更情報
1519 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1520
1521 if(SendDlgItemMessage(hwnd,IDC_BS_DEFPUSHBUTTON,BM_GETCHECK,0,0)){
1522 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_OWNERDRAW );
1523 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_DEFPUSHBUTTON );
1524 SendDlgItemMessage(hwnd,IDC_BS_OWNERDRAW,BM_SETCHECK,BST_UNCHECKED,0);
1525 }
1526 else
1527 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_DEFPUSHBUTTON );
1528 DrawRadWindow(i,pWindowInfo);
1529 return 1;
1530 }
1531 break;
1532 case IDC_BS_OWNERDRAW:
1533 if(HIWORD(wParam)==BN_CLICKED){
1534 //変更情報
1535 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1536
1537 if(SendDlgItemMessage(hwnd,IDC_BS_OWNERDRAW,BM_GETCHECK,0,0)){
1538 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_DEFPUSHBUTTON );
1539 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_OWNERDRAW );
1540 SendDlgItemMessage(hwnd,IDC_BS_DEFPUSHBUTTON,BM_SETCHECK,BST_UNCHECKED,0);
1541 }
1542 else
1543 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_OWNERDRAW );
1544 DrawRadWindow(i,pWindowInfo);
1545 return 1;
1546 }
1547 break;
1548 case IDC_BS_ICON:
1549 if(HIWORD(wParam)==BN_CLICKED){
1550 //変更情報
1551 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1552
1553 if(SendDlgItemMessage(hwnd,IDC_BS_ICON,BM_GETCHECK,0,0)){
1554 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_ICON );
1555 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_BITMAP );
1556 SendDlgItemMessage(hwnd,IDC_BS_BITMAP,BM_SETCHECK,BST_UNCHECKED,0);
1557 }
1558 else
1559 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_ICON );
1560 DrawRadWindow(i,pWindowInfo);
1561 return 1;
1562 }
1563 break;
1564 case IDC_BS_BITMAP:
1565 if(HIWORD(wParam)==BN_CLICKED){
1566 //変更情報
1567 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1568
1569 if(SendDlgItemMessage(hwnd,IDC_BS_BITMAP,BM_GETCHECK,0,0)){
1570 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_BITMAP );
1571 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_ICON );
1572 SendDlgItemMessage(hwnd,IDC_BS_ICON,BM_SETCHECK,BST_UNCHECKED,0);
1573 }
1574 else
1575 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_BITMAP );
1576 DrawRadWindow(i,pWindowInfo);
1577 return 1;
1578 }
1579 break;
1580 case IDC_BS_MULTILINE:
1581 if(HIWORD(wParam)==BN_CLICKED){
1582 //変更情報
1583 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1584
1585 if(SendDlgItemMessage(hwnd,IDC_BS_MULTILINE,BM_GETCHECK,0,0))
1586 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_MULTILINE );
1587 else
1588 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_MULTILINE );
1589 DrawRadWindow(i,pWindowInfo);
1590 return 1;
1591 }
1592 break;
1593 case IDC_BS_NOTIFY:
1594 if(HIWORD(wParam)==BN_CLICKED){
1595 //変更情報
1596 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1597
1598 if(SendDlgItemMessage(hwnd,IDC_BS_NOTIFY,BM_GETCHECK,0,0))
1599 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_NOTIFY );
1600 else
1601 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_NOTIFY );
1602 return 1;
1603 }
1604 break;
1605
1606 case IDC_BS_HPOS:
1607 if(HIWORD(wParam)==CBN_SELCHANGE){
1608 //変更情報
1609 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1610
1611 i3=SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_GETCURSEL,0,0);
1612 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_LEFT|BS_RIGHT|BS_CENTER );
1613 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_LEFT );
1614 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_RIGHT );
1615 else if(i3==3) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_CENTER );
1616 DrawRadWindow(i,pWindowInfo);
1617 return 1;
1618 }
1619 break;
1620 case IDC_BS_VPOS:
1621 if(HIWORD(wParam)==CBN_SELCHANGE){
1622 //変更情報
1623 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1624
1625 i3=SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_GETCURSEL,0,0);
1626 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_TOP|BS_BOTTOM|BS_VCENTER );
1627 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_TOP );
1628 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_BOTTOM );
1629 else if(i3==3) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_VCENTER );
1630 DrawRadWindow(i,pWindowInfo);
1631 return 1;
1632 }
1633 break;
1634
1635 case IDC_EXSTYLE:
1636 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
1637 DrawRadWindow(i,pWindowInfo);
1638 return 1;
1639 }
1640 break;
1641 }
1642 }
1643 return 0;
1644}
1645
1646
1647////////////////////////
1648// CHECKBOX プロパティ
1649INT_PTR CALLBACK RadProperty_CheckBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
1650 int i,i2,i3;
1651 static BOOL bInitial;
1652
1653 switch(message){
1654 case WM_INITDIALOG:
1655 {
1656 bInitial=1;
1657 i=GetWndNum(GetParent(GetParent(hwnd)));
1658 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1659
1660 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
1661 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetCaption().c_str());
1662
1663
1664 ////////////
1665 //スタイル
1666
1667 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
1668 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
1669 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
1670 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
1671
1672 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_AUTOCHECKBOX)==BS_AUTOCHECKBOX) SendDlgItemMessage(hwnd,IDC_BS_AUTO,BM_SETCHECK,BST_CHECKED,0);
1673 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_AUTO3STATE)==BS_AUTO3STATE){
1674 SendDlgItemMessage(hwnd,IDC_BS_AUTO,BM_SETCHECK,BST_CHECKED,0);
1675 SendDlgItemMessage(hwnd,IDC_BS_3STATE,BM_SETCHECK,BST_CHECKED,0);
1676 }
1677 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_3STATE)==BS_3STATE) SendDlgItemMessage(hwnd,IDC_BS_3STATE,BM_SETCHECK,BST_CHECKED,0);
1678 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_PUSHLIKE) SendDlgItemMessage(hwnd,IDC_BS_PUSHLIKE,BM_SETCHECK,BST_CHECKED,0);
1679 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_LEFTTEXT) SendDlgItemMessage(hwnd,IDC_BS_LEFTTEXT,BM_SETCHECK,BST_CHECKED,0);
1680 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_ICON) SendDlgItemMessage(hwnd,IDC_BS_ICON,BM_SETCHECK,BST_CHECKED,0);
1681 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_BITMAP) SendDlgItemMessage(hwnd,IDC_BS_BITMAP,BM_SETCHECK,BST_CHECKED,0);
1682 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_MULTILINE) SendDlgItemMessage(hwnd,IDC_BS_MULTILINE,BM_SETCHECK,BST_CHECKED,0);
1683 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_NOTIFY) SendDlgItemMessage(hwnd,IDC_BS_NOTIFY,BM_SETCHECK,BST_CHECKED,0);
1684
1685
1686 //////////////////
1687 // 水平方向の配置
1688 //////////////////
1689
1690 //"デフォルト"
1691 SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_ADDSTRING,0,(LPARAM)STRING_DEFAULT);
1692 //"左端"
1693 SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_ADDSTRING,0,(LPARAM)STRING_LEFT);
1694 //"右端"
1695 SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_ADDSTRING,0,(LPARAM)STRING_RIGHT);
1696 //"中央"
1697 SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_ADDSTRING,0,(LPARAM)STRING_CENTER);
1698
1699 //ビットを考慮してBS_CENTERを最初に比較する
1700 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_CENTER)==BS_CENTER) SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_SETCURSEL,3,0);
1701 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_LEFT) SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_SETCURSEL,1,0);
1702 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_RIGHT) SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_SETCURSEL,2,0);
1703 else SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_SETCURSEL,0,0);
1704
1705
1706 //////////////////
1707 // 垂直方向の配置
1708 //////////////////
1709
1710 //"デフォルト"
1711 SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_ADDSTRING,0,(LPARAM)STRING_DEFAULT);
1712 //"上端"
1713 SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_ADDSTRING,0,(LPARAM)STRING_TOP);
1714 //"下端"
1715 SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_ADDSTRING,0,(LPARAM)STRING_BOTTOM);
1716 //"中央"
1717 SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_ADDSTRING,0,(LPARAM)STRING_CENTER);
1718
1719 //ビットを考慮してBS_VCENTERを最初に比較する
1720 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_VCENTER)==BS_VCENTER) SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_SETCURSEL,3,0);
1721 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_TOP) SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_SETCURSEL,1,0);
1722 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_BOTTOM) SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_SETCURSEL,2,0);
1723 else SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_SETCURSEL,0,0);
1724
1725 ApplyDialogTexture(hwnd);
1726 bInitial=0;
1727 break;
1728 }
1729 case WM_COMMAND:
1730 {
1731 i=GetWndNum(GetParent(GetParent(hwnd)));
1732 if(i==-1) return 1;
1733 i2=GetWndInfoNum(MdiInfo[i]->path);
1734 ActiveBasic::PM::WindowInfo *pWindowInfo = projectInfo.windowInfos[i2];
1735
1736 //共通スタイル
1737 if(bInitial==0){
1738 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
1739 }
1740
1741 switch(LOWORD(wParam)){
1742 case IDC_BS_AUTO:
1743 if(HIWORD(wParam)==BN_CLICKED){
1744 //変更情報
1745 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1746
1747 if(SendDlgItemMessage(hwnd,IDC_BS_AUTO,BM_GETCHECK,0,0)){
1748 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x04){
1749 //3state
1750 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AndStyle( 0xFFFFFFF0 );
1751 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_AUTO3STATE );
1752 }
1753 else{
1754 //2state
1755 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AndStyle( 0xFFFFFFF0 );
1756 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_AUTOCHECKBOX );
1757 }
1758 }
1759 else{
1760 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x04){
1761 //3state
1762 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AndStyle( 0xFFFFFFF0 );
1763 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_3STATE );
1764 }
1765 else{
1766 //2state
1767 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AndStyle( 0xFFFFFFF0 );
1768 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_CHECKBOX );
1769 }
1770 }
1771 return 1;
1772 }
1773 break;
1774 case IDC_BS_3STATE:
1775 if(HIWORD(wParam)==BN_CLICKED){
1776 //変更情報
1777 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1778
1779 if(SendDlgItemMessage(hwnd,IDC_BS_3STATE,BM_GETCHECK,0,0)){
1780 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0F)==BS_CHECKBOX){
1781 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AndStyle( 0xFFFFFFF0 );
1782 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_3STATE );
1783 }
1784 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0F)==BS_AUTOCHECKBOX){
1785 //自動チェック
1786 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AndStyle( 0xFFFFFFF0 );
1787 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_AUTO3STATE );
1788 }
1789 }
1790 else{
1791 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0F)==BS_3STATE){
1792 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AndStyle( 0xFFFFFFF0 );
1793 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_CHECKBOX );
1794 }
1795 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0F)==BS_AUTO3STATE){
1796 //自動チェック
1797 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AndStyle( 0xFFFFFFF0 );
1798 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_AUTOCHECKBOX );
1799 }
1800 }
1801 return 1;
1802 }
1803 break;
1804 case IDC_BS_PUSHLIKE:
1805 if(HIWORD(wParam)==BN_CLICKED){
1806 //変更情報
1807 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1808
1809 if(SendDlgItemMessage(hwnd,IDC_BS_PUSHLIKE,BM_GETCHECK,0,0))
1810 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_PUSHLIKE );
1811 else
1812 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_PUSHLIKE );
1813 DrawRadWindow(i,pWindowInfo);
1814 return 1;
1815 }
1816 break;
1817 case IDC_BS_LEFTTEXT:
1818 if(HIWORD(wParam)==BN_CLICKED){
1819 //変更情報
1820 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1821
1822 if(SendDlgItemMessage(hwnd,IDC_BS_LEFTTEXT,BM_GETCHECK,0,0))
1823 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_LEFTTEXT );
1824 else
1825 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_LEFTTEXT );
1826 DrawRadWindow(i,pWindowInfo);
1827 return 1;
1828 }
1829 break;
1830 case IDC_BS_ICON:
1831 if(HIWORD(wParam)==BN_CLICKED){
1832 //変更情報
1833 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1834
1835 if(SendDlgItemMessage(hwnd,IDC_BS_ICON,BM_GETCHECK,0,0)){
1836 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_ICON );
1837 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_BITMAP );
1838 SendDlgItemMessage(hwnd,IDC_BS_BITMAP,BM_SETCHECK,BST_UNCHECKED,0);
1839 }
1840 else
1841 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_ICON );
1842 DrawRadWindow(i,pWindowInfo);
1843 return 1;
1844 }
1845 break;
1846 case IDC_BS_BITMAP:
1847 if(HIWORD(wParam)==BN_CLICKED){
1848 //変更情報
1849 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1850
1851 if(SendDlgItemMessage(hwnd,IDC_BS_BITMAP,BM_GETCHECK,0,0)){
1852 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_BITMAP );
1853 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_ICON );
1854 SendDlgItemMessage(hwnd,IDC_BS_ICON,BM_SETCHECK,BST_UNCHECKED,0);
1855 }
1856 else
1857 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_BITMAP );
1858 DrawRadWindow(i,pWindowInfo);
1859 return 1;
1860 }
1861 break;
1862 case IDC_BS_MULTILINE:
1863 if(HIWORD(wParam)==BN_CLICKED){
1864 //変更情報
1865 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1866
1867 if(SendDlgItemMessage(hwnd,IDC_BS_MULTILINE,BM_GETCHECK,0,0))
1868 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_MULTILINE );
1869 else
1870 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_MULTILINE );
1871 DrawRadWindow(i,pWindowInfo);
1872 return 1;
1873 }
1874 break;
1875 case IDC_BS_NOTIFY:
1876 if(HIWORD(wParam)==BN_CLICKED){
1877 //変更情報
1878 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1879
1880 if(SendDlgItemMessage(hwnd,IDC_BS_NOTIFY,BM_GETCHECK,0,0))
1881 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_NOTIFY );
1882 else
1883 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_NOTIFY );
1884 return 1;
1885 }
1886 break;
1887
1888 case IDC_BS_HPOS:
1889 if(HIWORD(wParam)==CBN_SELCHANGE){
1890 //変更情報
1891 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1892
1893 i3=SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_GETCURSEL,0,0);
1894 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_LEFT|BS_RIGHT|BS_CENTER );
1895 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_LEFT );
1896 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_RIGHT );
1897 else if(i3==3) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_CENTER );
1898 DrawRadWindow(i,pWindowInfo);
1899 return 1;
1900 }
1901 break;
1902 case IDC_BS_VPOS:
1903 if(HIWORD(wParam)==CBN_SELCHANGE){
1904 //変更情報
1905 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
1906
1907 i3=SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_GETCURSEL,0,0);
1908 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_TOP|BS_BOTTOM|BS_VCENTER );
1909 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_TOP );
1910 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_BOTTOM );
1911 else if(i3==3) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_VCENTER );
1912 DrawRadWindow(i,pWindowInfo);
1913 return 1;
1914 }
1915 break;
1916
1917 case IDC_EXSTYLE:
1918 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
1919 DrawRadWindow(i,pWindowInfo);
1920 return 1;
1921 }
1922 }
1923 }
1924 return 0;
1925}
1926
1927
1928///////////////////////
1929// COMBOBOX プロパティ
1930
1931void RadProperty_ComboBox_StylingOrder(HWND hwnd,DWORD *style){
1932 if(!(*style&(CBS_OWNERDRAWFIXED|CBS_OWNERDRAWVARIABLE))){
1933 *style&=~(CBS_HASSTRINGS);
1934 SendDlgItemMessage(hwnd,IDC_CBS_HASSTRINGS,BM_SETCHECK,BST_UNCHECKED,0);
1935 EnableWindow(GetDlgItem(hwnd,IDC_CBS_HASSTRINGS),0);
1936 }
1937 else EnableWindow(GetDlgItem(hwnd,IDC_CBS_HASSTRINGS),1);
1938}
1939INT_PTR CALLBACK RadProperty_ComboBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
1940 int i,i2,i3;
1941 static BOOL bInitial;
1942
1943 switch(message){
1944 case WM_INITDIALOG:
1945 {
1946 bInitial=1;
1947 i=GetWndNum(GetParent(GetParent(hwnd)));
1948 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
1949
1950 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
1951
1952
1953 /////////////////////////////////
1954 // スタイル
1955 ////////////
1956
1957 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
1958 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
1959 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
1960 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
1961
1962 ////////
1963 // 選択
1964 ////////
1965
1966 //"デフォルト"
1967 SendDlgItemMessage(hwnd,IDC_CBS_TYPE,CB_ADDSTRING,0,(LPARAM)STRING_DEFAULT);
1968 //"ドロップ ダウン"
1969 SendDlgItemMessage(hwnd,IDC_CBS_TYPE,CB_ADDSTRING,0,(LPARAM)STRING_COMBOBOXPROP_STYLE_DROPDOWN);
1970 //"ドロップ ダウン リスト"
1971 SendDlgItemMessage(hwnd,IDC_CBS_TYPE,CB_ADDSTRING,0,(LPARAM)STRING_COMBOBOXPROP_STYLE_DROPDOWNLIST);
1972
1973 //ビットを考慮してCBS_DROPDOWNLISTを最初に比較する
1974 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_DROPDOWNLIST)==CBS_DROPDOWNLIST) SendDlgItemMessage(hwnd,IDC_CBS_TYPE,CB_SETCURSEL,2,0);
1975 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_SIMPLE) SendDlgItemMessage(hwnd,IDC_CBS_TYPE,CB_SETCURSEL,0,0);
1976 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_DROPDOWN) SendDlgItemMessage(hwnd,IDC_CBS_TYPE,CB_SETCURSEL,1,0);
1977
1978
1979 ////////////////
1980 // オーナー描画
1981 ////////////////
1982
1983 //"なし"
1984 SendDlgItemMessage(hwnd,IDC_CBS_OWNERDRAW,CB_ADDSTRING,0,(LPARAM)STRING_NONE_);
1985 //"固定"
1986 SendDlgItemMessage(hwnd,IDC_CBS_OWNERDRAW,CB_ADDSTRING,0,(LPARAM)STRING_OWNERDRAW_FIXED);
1987 //"可変"
1988 SendDlgItemMessage(hwnd,IDC_CBS_OWNERDRAW,CB_ADDSTRING,0,(LPARAM)STRING_OWNERDRAW_VARIABLE);
1989
1990 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_OWNERDRAWFIXED) SendDlgItemMessage(hwnd,IDC_CBS_OWNERDRAW,CB_SETCURSEL,1,0);
1991 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_OWNERDRAWVARIABLE) SendDlgItemMessage(hwnd,IDC_CBS_OWNERDRAW,CB_SETCURSEL,2,0);
1992 else SendDlgItemMessage(hwnd,IDC_CBS_OWNERDRAW,CB_SETCURSEL,0,0);
1993
1994 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_HASSTRINGS) SendDlgItemMessage(hwnd,IDC_CBS_HASSTRINGS,BM_SETCHECK,BST_CHECKED,0);
1995 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_SORT) SendDlgItemMessage(hwnd,IDC_CBS_SORT,BM_SETCHECK,BST_CHECKED,0);
1996 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_NOINTEGRALHEIGHT) SendDlgItemMessage(hwnd,IDC_CBS_NOINTEGRALHEIGHT,BM_SETCHECK,BST_CHECKED,0);
1997 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_OEMCONVERT) SendDlgItemMessage(hwnd,IDC_CBS_OEMCONVERT,BM_SETCHECK,BST_CHECKED,0);
1998 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VSCROLL) SendDlgItemMessage(hwnd,IDC_STYLE_VSCROLL,BM_SETCHECK,BST_CHECKED,0);
1999 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_AUTOHSCROLL) SendDlgItemMessage(hwnd,IDC_CBS_AUTOHSCROLL,BM_SETCHECK,BST_CHECKED,0);
2000 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_DISABLENOSCROLL) SendDlgItemMessage(hwnd,IDC_CBS_DISABLENOSCROLL,BM_SETCHECK,BST_CHECKED,0);
2001 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_UPPERCASE) SendDlgItemMessage(hwnd,IDC_CBS_UPPERCASE,BM_SETCHECK,BST_CHECKED,0);
2002 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&CBS_LOWERCASE) SendDlgItemMessage(hwnd,IDC_CBS_LOWERCASE,BM_SETCHECK,BST_CHECKED,0);
2003
2004 DWORD tempStyle = pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle();
2005 RadProperty_ComboBox_StylingOrder(hwnd,&tempStyle);
2006 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->SetStyle( tempStyle );
2007
2008 ApplyDialogTexture(hwnd);
2009 bInitial=0;
2010 break;
2011 }
2012 case WM_COMMAND:
2013 {
2014 i=GetWndNum(GetParent(GetParent(hwnd)));
2015 if(i==-1) return 1;
2016 i2=GetWndInfoNum(MdiInfo[i]->path);
2017 ActiveBasic::PM::WindowInfo *pWindowInfo = projectInfo.windowInfos[i2];
2018
2019 //共通スタイル
2020 if(bInitial==0){
2021 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
2022 }
2023
2024 switch(LOWORD(wParam)){
2025 case IDC_CBS_TYPE:
2026 if(HIWORD(wParam)==CBN_SELCHANGE){
2027 //変更情報
2028 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2029
2030 i3=SendDlgItemMessage(hwnd,IDC_CBS_TYPE,CB_GETCURSEL,0,0);
2031 //CBS_DROPDOWNLIST=CBS_SIMPLE | CBS_DROPDOWN
2032 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( CBS_DROPDOWNLIST );
2033 if(i3==0) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_SIMPLE );
2034 else if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_DROPDOWN );
2035 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_DROPDOWNLIST );
2036
2037 DrawRadWindow(i,pWindowInfo);
2038 return 1;
2039 }
2040 break;
2041 case IDC_CBS_OWNERDRAW:
2042 if(HIWORD(wParam)==CBN_SELCHANGE){
2043 //変更情報
2044 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2045
2046 i3=SendDlgItemMessage(hwnd,IDC_CBS_OWNERDRAW,CB_GETCURSEL,0,0);
2047 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( CBS_OWNERDRAWFIXED|CBS_OWNERDRAWVARIABLE );
2048 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_OWNERDRAWFIXED );
2049 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_OWNERDRAWVARIABLE );
2050
2051 DWORD tempStyle = pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle();
2052 RadProperty_ComboBox_StylingOrder(hwnd,&tempStyle);
2053 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->SetStyle( tempStyle );
2054 return 1;
2055 }
2056 break;
2057
2058 case IDC_CBS_HASSTRINGS:
2059 if(HIWORD(wParam)==BN_CLICKED){
2060 //変更情報
2061 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2062
2063 if(SendDlgItemMessage(hwnd,IDC_CBS_HASSTRINGS,BM_GETCHECK,0,0))
2064 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_HASSTRINGS );
2065 else
2066 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( CBS_HASSTRINGS );
2067 return 1;
2068 }
2069 break;
2070 case IDC_CBS_SORT:
2071 if(HIWORD(wParam)==BN_CLICKED){
2072 //変更情報
2073 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2074
2075 if(SendDlgItemMessage(hwnd,IDC_CBS_SORT,BM_GETCHECK,0,0))
2076 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_SORT );
2077 else
2078 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( CBS_SORT );
2079 return 1;
2080 }
2081 break;
2082 case IDC_CBS_NOINTEGRALHEIGHT:
2083 if(HIWORD(wParam)==BN_CLICKED){
2084 //変更情報
2085 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2086
2087 if(SendDlgItemMessage(hwnd,IDC_CBS_NOINTEGRALHEIGHT,BM_GETCHECK,0,0))
2088 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_NOINTEGRALHEIGHT );
2089 else
2090 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( CBS_NOINTEGRALHEIGHT );
2091 return 1;
2092 }
2093 break;
2094 case IDC_CBS_OEMCONVERT:
2095 if(HIWORD(wParam)==BN_CLICKED){
2096 //変更情報
2097 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2098
2099 if(SendDlgItemMessage(hwnd,IDC_CBS_OEMCONVERT,BM_GETCHECK,0,0))
2100 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_OEMCONVERT );
2101 else
2102 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( CBS_OEMCONVERT );
2103 return 1;
2104 }
2105 break;
2106 case IDC_STYLE_VSCROLL:
2107 if(HIWORD(wParam)==BN_CLICKED){
2108 //変更情報
2109 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2110
2111 if(SendDlgItemMessage(hwnd,IDC_STYLE_VSCROLL,BM_GETCHECK,0,0))
2112 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( WS_VSCROLL );
2113 else
2114 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( WS_VSCROLL );
2115 DrawRadWindow(i,pWindowInfo);
2116 return 1;
2117 }
2118 break;
2119 case IDC_CBS_AUTOHSCROLL:
2120 if(HIWORD(wParam)==BN_CLICKED){
2121 //変更情報
2122 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2123
2124 if(SendDlgItemMessage(hwnd,IDC_CBS_AUTOHSCROLL,BM_GETCHECK,0,0))
2125 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_AUTOHSCROLL );
2126 else
2127 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( CBS_AUTOHSCROLL );
2128 return 1;
2129 }
2130 break;
2131 case IDC_CBS_DISABLENOSCROLL:
2132 if(HIWORD(wParam)==BN_CLICKED){
2133 //変更情報
2134 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2135
2136 if(SendDlgItemMessage(hwnd,IDC_CBS_DISABLENOSCROLL,BM_GETCHECK,0,0))
2137 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_DISABLENOSCROLL );
2138 else
2139 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( CBS_DISABLENOSCROLL );
2140 DrawRadWindow(i,pWindowInfo);
2141 return 1;
2142 }
2143 break;
2144 case IDC_CBS_UPPERCASE:
2145 if(HIWORD(wParam)==BN_CLICKED){
2146 //変更情報
2147 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2148
2149 if(SendDlgItemMessage(hwnd,IDC_CBS_UPPERCASE,BM_GETCHECK,0,0))
2150 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_UPPERCASE );
2151 else
2152 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( CBS_UPPERCASE );
2153 return 1;
2154 }
2155 break;
2156 case IDC_CBS_LOWERCASE:
2157 if(HIWORD(wParam)==BN_CLICKED){
2158 //変更情報
2159 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2160
2161 if(SendDlgItemMessage(hwnd,IDC_CBS_LOWERCASE,BM_GETCHECK,0,0))
2162 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( CBS_LOWERCASE );
2163 else
2164 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( CBS_LOWERCASE );
2165 return 1;
2166 }
2167 break;
2168
2169 case IDC_EXSTYLE:
2170 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
2171 DrawRadWindow(i,pWindowInfo);
2172 return 1;
2173 }
2174 break;
2175 }
2176 }
2177 return 0;
2178}
2179
2180
2181/////////////////////
2182// EDIT プロパティ
2183
2184void RadProperty_Edit_StylingOrder(HWND hwnd,DWORD *style){
2185 if(*style&ES_MULTILINE){
2186 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_HSCROLL),1);
2187 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_VSCROLL),1);
2188 EnableWindow(GetDlgItem(hwnd,IDC_ES_AUTOVSCROLL),1);
2189
2190 *style&=~(ES_PASSWORD);
2191 SendDlgItemMessage(hwnd,IDC_ES_PASSWORD,BM_SETCHECK,BST_UNCHECKED,0);
2192 EnableWindow(GetDlgItem(hwnd,IDC_ES_PASSWORD),0);
2193 }
2194 else{
2195 EnableWindow(GetDlgItem(hwnd,IDC_ES_PASSWORD),1);
2196
2197 *style&=~(WS_HSCROLL|WS_VSCROLL|ES_AUTOVSCROLL);
2198 SendDlgItemMessage(hwnd,IDC_STYLE_HSCROLL,BM_SETCHECK,BST_UNCHECKED,0);
2199 SendDlgItemMessage(hwnd,IDC_STYLE_VSCROLL,BM_SETCHECK,BST_UNCHECKED,0);
2200 SendDlgItemMessage(hwnd,IDC_ES_AUTOVSCROLL,BM_SETCHECK,BST_UNCHECKED,0);
2201 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_HSCROLL),0);
2202 EnableWindow(GetDlgItem(hwnd,IDC_STYLE_VSCROLL),0);
2203 EnableWindow(GetDlgItem(hwnd,IDC_ES_AUTOVSCROLL),0);
2204 }
2205}
2206INT_PTR CALLBACK RadProperty_EditProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
2207 int i,i2,i3;
2208 static BOOL bInitial;
2209
2210 switch(message){
2211 case WM_INITDIALOG:
2212 {
2213 bInitial=1;
2214 i=GetWndNum(GetParent(GetParent(hwnd)));
2215 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
2216
2217 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
2218 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetCaption().c_str());
2219
2220
2221 ////////////
2222 // スタイル
2223 ////////////
2224
2225 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
2226 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
2227 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
2228 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
2229
2230 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_MULTILINE) SendDlgItemMessage(hwnd,IDC_ES_MULTILINE,BM_SETCHECK,BST_CHECKED,0);
2231 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_NUMBER) SendDlgItemMessage(hwnd,IDC_ES_NUMBER,BM_SETCHECK,BST_CHECKED,0);
2232 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_HSCROLL) SendDlgItemMessage(hwnd,IDC_STYLE_HSCROLL,BM_SETCHECK,BST_CHECKED,0);
2233 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_AUTOHSCROLL) SendDlgItemMessage(hwnd,IDC_ES_AUTOHSCROLL,BM_SETCHECK,BST_CHECKED,0);
2234 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VSCROLL) SendDlgItemMessage(hwnd,IDC_STYLE_VSCROLL,BM_SETCHECK,BST_CHECKED,0);
2235 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_AUTOVSCROLL) SendDlgItemMessage(hwnd,IDC_ES_AUTOVSCROLL,BM_SETCHECK,BST_CHECKED,0);
2236 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_PASSWORD) SendDlgItemMessage(hwnd,IDC_ES_PASSWORD,BM_SETCHECK,BST_CHECKED,0);
2237 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_NOHIDESEL) SendDlgItemMessage(hwnd,IDC_ES_NOHIDESEL,BM_SETCHECK,BST_CHECKED,0);
2238 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_OEMCONVERT) SendDlgItemMessage(hwnd,IDC_ES_OEMCONVERT,BM_SETCHECK,BST_CHECKED,0);
2239 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_WANTRETURN) SendDlgItemMessage(hwnd,IDC_ES_WANTRETURN,BM_SETCHECK,BST_CHECKED,0);
2240 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_UPPERCASE) SendDlgItemMessage(hwnd,IDC_ES_UPPERCASE,BM_SETCHECK,BST_CHECKED,0);
2241 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_LOWERCASE) SendDlgItemMessage(hwnd,IDC_ES_LOWERCASE,BM_SETCHECK,BST_CHECKED,0);
2242 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_READONLY) SendDlgItemMessage(hwnd,IDC_ES_READONLY,BM_SETCHECK,BST_CHECKED,0);
2243
2244
2245 //////////////////
2246 // テキストの配置
2247 //////////////////
2248
2249 //"左端"
2250 SendDlgItemMessage(hwnd,IDC_ES_TEXTPOS,CB_ADDSTRING,0,(LPARAM)STRING_LEFT);
2251 //"中央"
2252 SendDlgItemMessage(hwnd,IDC_ES_TEXTPOS,CB_ADDSTRING,0,(LPARAM)STRING_CENTER);
2253 //"右端"
2254 SendDlgItemMessage(hwnd,IDC_ES_TEXTPOS,CB_ADDSTRING,0,(LPARAM)STRING_RIGHT);
2255
2256 //ビットを考慮してES_LEFTを最後に検討する
2257 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_CENTER) SendDlgItemMessage(hwnd,IDC_ES_TEXTPOS,CB_SETCURSEL,1,0);
2258 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&ES_RIGHT) SendDlgItemMessage(hwnd,IDC_ES_TEXTPOS,CB_SETCURSEL,2,0);
2259 else SendDlgItemMessage(hwnd,IDC_ES_TEXTPOS,CB_SETCURSEL,0,0);
2260
2261 DWORD tempStyle = pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle();
2262 RadProperty_Edit_StylingOrder(hwnd,&tempStyle);
2263 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->SetStyle( tempStyle );
2264
2265 ApplyDialogTexture(hwnd);
2266 bInitial=0;
2267 break;
2268 }
2269 case WM_COMMAND:
2270 {
2271 i=GetWndNum(GetParent(GetParent(hwnd)));
2272 if(i==-1) return 1;
2273 i2=GetWndInfoNum(MdiInfo[i]->path);
2274 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
2275
2276 //共通スタイル
2277 if(bInitial==0){
2278 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
2279 }
2280
2281 switch(LOWORD(wParam)){
2282 case IDC_ES_MULTILINE:
2283 if(HIWORD(wParam)==BN_CLICKED){
2284 //変更情報
2285 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2286
2287 if(SendDlgItemMessage(hwnd,IDC_ES_MULTILINE,BM_GETCHECK,0,0))
2288 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_MULTILINE );
2289 else
2290 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_MULTILINE );
2291
2292 DWORD tempStyle = pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle();
2293 RadProperty_Edit_StylingOrder(hwnd,&tempStyle);
2294 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->SetStyle( tempStyle );
2295 DrawRadWindow(i,pWindowInfo);
2296 return 1;
2297 }
2298 break;
2299 case IDC_ES_NUMBER:
2300 if(HIWORD(wParam)==BN_CLICKED){
2301 //変更情報
2302 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2303
2304 if(SendDlgItemMessage(hwnd,IDC_ES_NUMBER,BM_GETCHECK,0,0))
2305 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_NUMBER );
2306 else
2307 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_NUMBER );
2308 return 1;
2309 }
2310 break;
2311 case IDC_STYLE_HSCROLL:
2312 if(HIWORD(wParam)==BN_CLICKED){
2313 //変更情報
2314 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2315
2316 if(SendDlgItemMessage(hwnd,IDC_STYLE_HSCROLL,BM_GETCHECK,0,0))
2317 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( WS_HSCROLL );
2318 else
2319 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( WS_HSCROLL );
2320 DrawRadWindow(i,pWindowInfo);
2321 return 1;
2322 }
2323 break;
2324 case IDC_ES_AUTOHSCROLL:
2325 if(HIWORD(wParam)==BN_CLICKED){
2326 //変更情報
2327 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2328
2329 if(SendDlgItemMessage(hwnd,IDC_ES_AUTOHSCROLL,BM_GETCHECK,0,0))
2330 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_AUTOHSCROLL );
2331 else
2332 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_AUTOHSCROLL );
2333 DrawRadWindow(i,pWindowInfo);
2334 return 1;
2335 }
2336 break;
2337 case IDC_STYLE_VSCROLL:
2338 if(HIWORD(wParam)==BN_CLICKED){
2339 //変更情報
2340 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2341
2342 if(SendDlgItemMessage(hwnd,IDC_STYLE_VSCROLL,BM_GETCHECK,0,0))
2343 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( WS_VSCROLL );
2344 else
2345 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( WS_VSCROLL );
2346 DrawRadWindow(i,pWindowInfo);
2347 return 1;
2348 }
2349 break;
2350 case IDC_ES_AUTOVSCROLL:
2351 if(HIWORD(wParam)==BN_CLICKED){
2352 //変更情報
2353 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2354
2355 if(SendDlgItemMessage(hwnd,IDC_ES_AUTOVSCROLL,BM_GETCHECK,0,0))
2356 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_AUTOVSCROLL );
2357 else
2358 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_AUTOVSCROLL );
2359 DrawRadWindow(i,pWindowInfo);
2360 return 1;
2361 }
2362 break;
2363 case IDC_ES_PASSWORD:
2364 if(HIWORD(wParam)==BN_CLICKED){
2365 //変更情報
2366 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2367
2368 if(SendDlgItemMessage(hwnd,IDC_ES_PASSWORD,BM_GETCHECK,0,0))
2369 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_PASSWORD );
2370 else
2371 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_PASSWORD );
2372 DrawRadWindow(i,pWindowInfo);
2373 return 1;
2374 }
2375 break;
2376 case IDC_ES_NOHIDESEL:
2377 if(HIWORD(wParam)==BN_CLICKED){
2378 //変更情報
2379 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2380
2381 if(SendDlgItemMessage(hwnd,IDC_ES_NOHIDESEL,BM_GETCHECK,0,0))
2382 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_NOHIDESEL );
2383 else
2384 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_NOHIDESEL );
2385 DrawRadWindow(i,pWindowInfo);
2386 return 1;
2387 }
2388 break;
2389 case IDC_ES_OEMCONVERT:
2390 if(HIWORD(wParam)==BN_CLICKED){
2391 //変更情報
2392 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2393
2394 if(SendDlgItemMessage(hwnd,IDC_ES_OEMCONVERT,BM_GETCHECK,0,0))
2395 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_OEMCONVERT );
2396 else
2397 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_OEMCONVERT );
2398 DrawRadWindow(i,pWindowInfo);
2399 return 1;
2400 }
2401 break;
2402 case IDC_ES_WANTRETURN:
2403 if(HIWORD(wParam)==BN_CLICKED){
2404 //変更情報
2405 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2406
2407 if(SendDlgItemMessage(hwnd,IDC_ES_WANTRETURN,BM_GETCHECK,0,0))
2408 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_WANTRETURN );
2409 else
2410 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_WANTRETURN );
2411 DrawRadWindow(i,pWindowInfo);
2412 return 1;
2413 }
2414 break;
2415 case IDC_ES_UPPERCASE:
2416 if(HIWORD(wParam)==BN_CLICKED){
2417 //変更情報
2418 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2419
2420 if(SendDlgItemMessage(hwnd,IDC_ES_UPPERCASE,BM_GETCHECK,0,0)){
2421 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_LOWERCASE );
2422 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_UPPERCASE );
2423 SendDlgItemMessage(hwnd,IDC_ES_LOWERCASE,BM_SETCHECK,BST_UNCHECKED,0);
2424 }
2425 else
2426 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_UPPERCASE );
2427 DrawRadWindow(i,pWindowInfo);
2428 return 1;
2429 }
2430 break;
2431 case IDC_ES_LOWERCASE:
2432 if(HIWORD(wParam)==BN_CLICKED){
2433 //変更情報
2434 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2435
2436 if(SendDlgItemMessage(hwnd,IDC_ES_LOWERCASE,BM_GETCHECK,0,0)){
2437 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_UPPERCASE );
2438 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_LOWERCASE );
2439 SendDlgItemMessage(hwnd,IDC_ES_UPPERCASE,BM_SETCHECK,BST_UNCHECKED,0);
2440 }
2441 else
2442 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_LOWERCASE );
2443 DrawRadWindow(i,pWindowInfo);
2444 return 1;
2445 }
2446 break;
2447 case IDC_ES_READONLY:
2448 if(HIWORD(wParam)==BN_CLICKED){
2449 //変更情報
2450 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2451
2452 if(SendDlgItemMessage(hwnd,IDC_ES_READONLY,BM_GETCHECK,0,0))
2453 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_READONLY );
2454 else
2455 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_READONLY );
2456 DrawRadWindow(i,pWindowInfo);
2457 return 1;
2458 }
2459 break;
2460
2461 case IDC_ES_TEXTPOS:
2462 if(HIWORD(wParam)==CBN_SELCHANGE){
2463 //変更情報
2464 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2465
2466 i3=SendDlgItemMessage(hwnd,IDC_ES_TEXTPOS,CB_GETCURSEL,0,0);
2467 //ES_LEFT=0
2468 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( ES_CENTER|ES_RIGHT );
2469 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_CENTER );
2470 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( ES_RIGHT );
2471 DrawRadWindow(i,pWindowInfo);
2472 return 1;
2473 }
2474 break;
2475
2476 case IDC_EXSTYLE:
2477 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
2478 DrawRadWindow(i,pWindowInfo);
2479 return 1;
2480 }
2481 break;
2482 }
2483 }
2484 return 0;
2485}
2486
2487
2488////////////////////////
2489// GROUPBOX プロパティ
2490
2491INT_PTR CALLBACK RadProperty_GroupBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
2492 int i,i2,i3;
2493 static BOOL bInitial;
2494
2495 switch(message){
2496 case WM_INITDIALOG:
2497 {
2498 bInitial=1;
2499 i=GetWndNum(GetParent(GetParent(hwnd)));
2500 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
2501
2502 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
2503 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetCaption().c_str());
2504
2505
2506 /////////////////////////////
2507 // スタイル
2508 ////////////
2509
2510 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
2511 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
2512 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
2513 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
2514
2515
2516 //////////////////
2517 // 水平方向の配置
2518 //////////////////
2519
2520 //"デフォルト"
2521 SendDlgItemMessage(hwnd,IDC_BS_POSITION,CB_ADDSTRING,0,(LPARAM)STRING_DEFAULT);
2522 //"左端"
2523 SendDlgItemMessage(hwnd,IDC_BS_POSITION,CB_ADDSTRING,0,(LPARAM)STRING_LEFT);
2524 //"右端"
2525 SendDlgItemMessage(hwnd,IDC_BS_POSITION,CB_ADDSTRING,0,(LPARAM)STRING_RIGHT);
2526 //"中央"
2527 SendDlgItemMessage(hwnd,IDC_BS_POSITION,CB_ADDSTRING,0,(LPARAM)STRING_CENTER);
2528
2529 //ビットを考慮してBS_CENTERを最初に検討する
2530 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_CENTER)==BS_CENTER) SendDlgItemMessage(hwnd,IDC_BS_POSITION,CB_SETCURSEL,3,0);
2531 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_LEFT) SendDlgItemMessage(hwnd,IDC_BS_POSITION,CB_SETCURSEL,1,0);
2532 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_RIGHT) SendDlgItemMessage(hwnd,IDC_BS_POSITION,CB_SETCURSEL,2,0);
2533 else SendDlgItemMessage(hwnd,IDC_BS_POSITION,CB_SETCURSEL,0,0);
2534
2535 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_ICON) SendDlgItemMessage(hwnd,IDC_BS_ICON,BM_SETCHECK,BST_CHECKED,0);
2536 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_BITMAP) SendDlgItemMessage(hwnd,IDC_BS_BITMAP,BM_SETCHECK,BST_CHECKED,0);
2537 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_NOTIFY) SendDlgItemMessage(hwnd,IDC_BS_NOTIFY,BM_SETCHECK,BST_CHECKED,0);
2538
2539 ApplyDialogTexture(hwnd);
2540 bInitial=0;
2541 break;
2542 }
2543 case WM_COMMAND:
2544 {
2545 i=GetWndNum(GetParent(GetParent(hwnd)));
2546 if(i==-1) return 1;
2547 i2=GetWndInfoNum(MdiInfo[i]->path);
2548 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
2549
2550 //共通スタイル
2551 if(bInitial==0){
2552 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
2553 }
2554
2555 switch(LOWORD(wParam)){
2556 case IDC_BS_POSITION:
2557 if(HIWORD(wParam)==CBN_SELCHANGE){
2558 //変更情報
2559 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2560
2561 i3=SendDlgItemMessage(hwnd,IDC_BS_POSITION,CB_GETCURSEL,0,0);
2562 //BS_CENTER=BS_LEFT | BS_RIGHT
2563 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_CENTER );
2564 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_LEFT );
2565 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_RIGHT );
2566 else if(i3==3) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_CENTER );
2567 DrawRadWindow(i,pWindowInfo);
2568 return 1;
2569 }
2570 break;
2571
2572 case IDC_BS_ICON:
2573 if(HIWORD(wParam)==BN_CLICKED){
2574 //変更情報
2575 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2576
2577 if(SendDlgItemMessage(hwnd,IDC_BS_ICON,BM_GETCHECK,0,0))
2578 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_ICON );
2579 else
2580 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_ICON );
2581 DrawRadWindow(i,pWindowInfo);
2582 return 1;
2583 }
2584 break;
2585 case IDC_BS_BITMAP:
2586 if(HIWORD(wParam)==BN_CLICKED){
2587 //変更情報
2588 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2589
2590 if(SendDlgItemMessage(hwnd,IDC_BS_BITMAP,BM_GETCHECK,0,0))
2591 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_BITMAP );
2592 else
2593 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_BITMAP );
2594 DrawRadWindow(i,pWindowInfo);
2595 return 1;
2596 }
2597 break;
2598 case IDC_BS_NOTIFY:
2599 if(HIWORD(wParam)==BN_CLICKED){
2600 //変更情報
2601 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2602
2603 if(SendDlgItemMessage(hwnd,IDC_BS_NOTIFY,BM_GETCHECK,0,0))
2604 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_NOTIFY );
2605 else
2606 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_NOTIFY );
2607 return 1;
2608 }
2609 break;
2610
2611 case IDC_EXSTYLE:
2612 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
2613 DrawRadWindow(i,pWindowInfo);
2614 return 1;
2615 }
2616 break;
2617 }
2618 }
2619 return 0;
2620}
2621
2622
2623////////////////////////
2624// IMAGEBOX プロパティ
2625
2626void RadProperty_ImageBox_StylingOrder(HWND hwnd,DWORD *style){
2627 if((*style&0x000F)==SS_ICON||
2628 (*style&0x000F)==SS_BITMAP){
2629 EnableWindow(GetDlgItem(hwnd,IDC_PATH),1);
2630 EnableWindow(GetDlgItem(hwnd,IDC_CHANGEPATH),1);
2631 EnableWindow(GetDlgItem(hwnd,IDC_SS_CENTERIMAGE),1);
2632 EnableWindow(GetDlgItem(hwnd,IDC_SS_RIGHTJUST),1);
2633 }
2634 else{
2635 EnableWindow(GetDlgItem(hwnd,IDC_PATH),0);
2636 EnableWindow(GetDlgItem(hwnd,IDC_CHANGEPATH),0);
2637 EnableWindow(GetDlgItem(hwnd,IDC_SS_CENTERIMAGE),0);
2638 EnableWindow(GetDlgItem(hwnd,IDC_SS_RIGHTJUST),0);
2639 }
2640}
2641INT_PTR CALLBACK RadProperty_ImageBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
2642 extern HANDLE hHeap;
2643 int i,i2,i3;
2644 char temporary[MAX_PATH];
2645 static BOOL bInitial;
2646
2647 switch(message){
2648 case WM_INITDIALOG:
2649 {
2650 bInitial=1;
2651 i=GetWndNum(GetParent(GetParent(hwnd)));
2652 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
2653
2654 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
2655
2656
2657 /////////////////////////////
2658 // スタイル
2659 ////////////
2660
2661 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
2662 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
2663 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
2664 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
2665
2666 //////////
2667 // タイプ
2668 //////////
2669
2670 //"フレーム(黒)"
2671 SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_ADDSTRING,0,(LPARAM)STRING_IMAGEBOXPROP_STYLE_FRAME_BLACK);
2672 //"フレーム(灰色)"
2673 SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_ADDSTRING,0,(LPARAM)STRING_IMAGEBOXPROP_STYLE_FRAME_GRAY);
2674 //"フレーム(白)"
2675 SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_ADDSTRING,0,(LPARAM)STRING_IMAGEBOXPROP_STYLE_FRAME_WHITE);
2676 //"フレーム(縁取り)"
2677 SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_ADDSTRING,0,(LPARAM)STRING_IMAGEBOXPROP_STYLE_FRAME_ETCHED);
2678 //"四角形(黒)"
2679 SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_ADDSTRING,0,(LPARAM)STRING_IMAGEBOXPROP_STYLE_RECT_BLACK);
2680 //"四角形(灰色)"
2681 SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_ADDSTRING,0,(LPARAM)STRING_IMAGEBOXPROP_STYLE_RECT_GRAY);
2682 //"四角形(白)"
2683 SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_ADDSTRING,0,(LPARAM)STRING_IMAGEBOXPROP_STYLE_RECT_WHITE);
2684 //"アイコン"
2685 SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_ADDSTRING,0,(LPARAM)STRING_IMAGEBOXPROP_STYLE_ICON);
2686 //"ビットマップ"
2687 SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_ADDSTRING,0,(LPARAM)STRING_IMAGEBOXPROP_STYLE_BITMAP);
2688
2689 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_BLACKFRAME) SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_SETCURSEL,0,0);
2690 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_GRAYFRAME) SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_SETCURSEL,1,0);
2691 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_WHITEFRAME) SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_SETCURSEL,2,0);
2692 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000001F)==SS_ETCHEDFRAME) SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_SETCURSEL,3,0);
2693 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_BLACKRECT) SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_SETCURSEL,4,0);
2694 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_GRAYRECT) SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_SETCURSEL,5,0);
2695 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_WHITERECT) SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_SETCURSEL,6,0);
2696 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_ICON||
2697 (pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_BITMAP){
2698 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_ICON) SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_SETCURSEL,7,0);
2699 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_BITMAP) SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_SETCURSEL,8,0);
2700
2701 //リソース/ファイル スイッチチェックを表示
2702 ShowWindow(GetDlgItem(hwnd,IDC_FILE),SW_SHOW);
2703 ShowWindow(GetDlgItem(hwnd,IDC_RESOURCE),SW_SHOW);
2704
2705 //イメージ状態テキストを表示
2706 ShowWindow(GetDlgItem(hwnd,IDC_IMAGE_SITUATION),SW_SHOW);
2707
2708 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.IsFile()){
2709 //ファイル指定を表示
2710 ShowWindow(GetDlgItem(hwnd,IDC_PATH),SW_SHOW);
2711 ShowWindow(GetDlgItem(hwnd,IDC_CHANGEPATH),SW_SHOW);
2712 SetDlgItemText(hwnd,IDC_PATH,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.path.c_str());
2713
2714 //イメージ状態テキスト
2715 //"ファイル指定:"
2716 SetDlgItemText(hwnd,IDC_IMAGE_SITUATION,STRING_IMAGEBOXPROP_STYLE_FROMFILE);
2717
2718 SendDlgItemMessage(hwnd,IDC_FILE,BM_SETCHECK,BST_CHECKED,0);
2719 }
2720 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.IsResource()){
2721 //リソース指定を表示
2722 ShowWindow(GetDlgItem(hwnd,IDC_RESCOMBO),SW_SHOW);
2723
2724 //イメージ状態テキスト
2725 //"リソース指定:"
2726 SetDlgItemText(hwnd,IDC_IMAGE_SITUATION,STRING_IMAGEBOXPROP_STYLE_FROMRESOURCE);
2727
2728 SendDlgItemMessage(hwnd,IDC_RESOURCE,BM_SETCHECK,BST_CHECKED,0);
2729
2730 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_RESETCONTENT,0,0);
2731
2732 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_ICON){
2733 //アイコンリソースをコンボボックスに挿入
2734 BOOST_FOREACH( const ActiveBasic::Common::ResourceItem &resourceItem, projectInfo.resourceManager.iconResources )
2735 {
2736 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_ADDSTRING,0,(LPARAM)resourceItem.idName.c_str());
2737 }
2738 }
2739 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_BITMAP){
2740 //ビットマップリソースをコンボボックスに挿入
2741 BOOST_FOREACH( const ActiveBasic::Common::ResourceItem &resourceItem, projectInfo.resourceManager.bitmapResources )
2742 {
2743 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_ADDSTRING,0,(LPARAM)resourceItem.idName.c_str());
2744 }
2745 }
2746
2747 //リストから選択
2748 i3=SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_FINDSTRING,0,(LPARAM)pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.path.c_str());
2749 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_SETCURSEL,i3,0);
2750 }
2751 }
2752
2753 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&SS_NOTIFY) SendDlgItemMessage(hwnd,IDC_SS_NOTIFY,BM_SETCHECK,BST_CHECKED,0);
2754 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&SS_CENTERIMAGE) SendDlgItemMessage(hwnd,IDC_SS_CENTERIMAGE,BM_SETCHECK,BST_CHECKED,0);
2755 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&SS_RIGHTJUST) SendDlgItemMessage(hwnd,IDC_SS_RIGHTJUST,BM_SETCHECK,BST_CHECKED,0);
2756
2757 DWORD tempStyle = pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle();
2758 RadProperty_ImageBox_StylingOrder(hwnd,&tempStyle);
2759 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->SetStyle( tempStyle );
2760
2761 ApplyDialogTexture(hwnd);
2762 bInitial=0;
2763 break;
2764 }
2765 case WM_COMMAND:
2766 {
2767 i=GetWndNum(GetParent(GetParent(hwnd)));
2768 if(i==-1) return 1;
2769 i2=GetWndInfoNum(MdiInfo[i]->path);
2770 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
2771
2772 //共通スタイル
2773 if(bInitial==0){
2774 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
2775 }
2776
2777 switch(LOWORD(wParam)){
2778 case IDC_IMAGE_TYPE:
2779 if(HIWORD(wParam)==CBN_SELCHANGE){
2780 //変更情報
2781 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2782
2783 i3=SendDlgItemMessage(hwnd,IDC_IMAGE_TYPE,CB_GETCURSEL,0,0);
2784 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( 0x0000001F );
2785 if(i3==0) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_BLACKFRAME );
2786 else if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_GRAYFRAME );
2787 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_WHITEFRAME );
2788 else if(i3==3) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_ETCHEDFRAME );
2789 else if(i3==4) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_BLACKRECT );
2790 else if(i3==5) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_GRAYRECT );
2791 else if(i3==6) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_WHITERECT );
2792 else if(i3==7) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_ICON );
2793 else if(i3==8) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_BITMAP );
2794
2795 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_ICON||
2796 (pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_BITMAP){
2797 //リソース/ファイル スイッチチェックを表示
2798 ShowWindow(GetDlgItem(hwnd,IDC_FILE),SW_SHOW);
2799 ShowWindow(GetDlgItem(hwnd,IDC_RESOURCE),SW_SHOW);
2800
2801 //イメージ状態テキストを表示
2802 ShowWindow(GetDlgItem(hwnd,IDC_IMAGE_SITUATION),SW_SHOW);
2803
2804 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.IsFile()){
2805 //ファイル指定を表示
2806 ShowWindow(GetDlgItem(hwnd,IDC_PATH),SW_SHOW);
2807 ShowWindow(GetDlgItem(hwnd,IDC_CHANGEPATH),SW_SHOW);
2808 SetDlgItemText(hwnd,IDC_PATH,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.path.c_str());
2809
2810 //イメージ状態テキスト
2811 //"ファイル指定:"
2812 SetDlgItemText(hwnd,IDC_IMAGE_SITUATION,STRING_IMAGEBOXPROP_STYLE_FROMFILE);
2813
2814 SendDlgItemMessage(hwnd,IDC_FILE,BM_SETCHECK,BST_CHECKED,0);
2815 }
2816 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.IsResource()){
2817 //リソース指定を表示
2818 ShowWindow(GetDlgItem(hwnd,IDC_RESCOMBO),SW_SHOW);
2819
2820 //イメージ状態テキスト
2821 //"リソース指定:"
2822 SetDlgItemText(hwnd,IDC_IMAGE_SITUATION,STRING_IMAGEBOXPROP_STYLE_FROMRESOURCE);
2823
2824 SendDlgItemMessage(hwnd,IDC_RESOURCE,BM_SETCHECK,BST_CHECKED,0);
2825
2826 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_RESETCONTENT,0,0);
2827
2828 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_ICON){
2829 //アイコンリソースをコンボボックスに挿入
2830 for(i3=0;i3<static_cast<int>(projectInfo.resourceManager.iconResources.size());i3++){
2831 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_ADDSTRING,0,(long)projectInfo.resourceManager.iconResources[i3].idName.c_str());
2832
2833 if( projectInfo.resourceManager.iconResources[i3].idName == pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.path )
2834 {
2835 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_SETCURSEL,i3,0);
2836 }
2837 }
2838 }
2839 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_BITMAP){
2840 //ビットマップリソースをコンボボックスに挿入
2841 for(i3=0;i3<static_cast<int>(projectInfo.resourceManager.bitmapResources.size());i3++){
2842 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_ADDSTRING,0,(long)projectInfo.resourceManager.bitmapResources[i3].idName.c_str());
2843
2844 if( projectInfo.resourceManager.bitmapResources[i3].idName == pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.path )
2845 {
2846 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_SETCURSEL,i3,0);
2847 }
2848 }
2849 }
2850 }
2851 }
2852 else{
2853 //リソース/ファイル スイッチチェックを非表示
2854 ShowWindow(GetDlgItem(hwnd,IDC_FILE),SW_HIDE);
2855 ShowWindow(GetDlgItem(hwnd,IDC_RESOURCE),SW_HIDE);
2856
2857 //イメージ状態テキストを非表示
2858 ShowWindow(GetDlgItem(hwnd,IDC_IMAGE_SITUATION),SW_HIDE);
2859
2860 //ファイル指定を非表示
2861 ShowWindow(GetDlgItem(hwnd,IDC_PATH),SW_HIDE);
2862 ShowWindow(GetDlgItem(hwnd,IDC_CHANGEPATH),SW_HIDE);
2863
2864 //リソース指定を非表示
2865 ShowWindow(GetDlgItem(hwnd,IDC_RESCOMBO),SW_HIDE);
2866 }
2867
2868 DWORD tempStyle = pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle();
2869 RadProperty_ImageBox_StylingOrder(hwnd,&tempStyle);
2870 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->SetStyle( tempStyle );
2871 DrawRadWindow(i,pWindowInfo);
2872 return 1;
2873 }
2874 break;
2875
2876 case IDC_FILE:
2877 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.IsFile()){
2878 //変更無し
2879 break;
2880 }
2881
2882 //変更情報
2883 Rad_NoticeChanging(i,RAD_UNDO_IMAGESTATE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],(DWORD)&pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image);
2884
2885 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.type
2886 = ActiveBasic::PM::ImageReferenceType::File;
2887
2888 //ファイル指定を表示
2889 ShowWindow(GetDlgItem(hwnd,IDC_PATH),SW_SHOW);
2890 ShowWindow(GetDlgItem(hwnd,IDC_CHANGEPATH),SW_SHOW);
2891 SetDlgItemText(hwnd,IDC_PATH,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.path.c_str());
2892
2893 //リソース指定を非表示
2894 ShowWindow(GetDlgItem(hwnd,IDC_RESCOMBO),SW_HIDE);
2895
2896 //イメージ状態テキスト
2897 //"ファイル指定:"
2898 SetDlgItemText(hwnd,IDC_IMAGE_SITUATION,STRING_IMAGEBOXPROP_STYLE_FROMFILE);
2899
2900 SendDlgItemMessage(hwnd,IDC_FILE,BM_SETCHECK,BST_CHECKED,0);
2901 break;
2902
2903 case IDC_RESOURCE:
2904 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.IsResource()){
2905 //変更無し
2906 break;
2907 }
2908
2909 //変更情報
2910 Rad_NoticeChanging(i,RAD_UNDO_IMAGESTATE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],(DWORD)&pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image);
2911
2912 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.type
2913 = ActiveBasic::PM::ImageReferenceType::Resource;
2914
2915 //ファイル指定を非表示
2916 ShowWindow(GetDlgItem(hwnd,IDC_PATH),SW_HIDE);
2917 ShowWindow(GetDlgItem(hwnd,IDC_CHANGEPATH),SW_HIDE);
2918
2919 //リソース指定を表示
2920 ShowWindow(GetDlgItem(hwnd,IDC_RESCOMBO),SW_SHOW);
2921
2922 //イメージ状態テキスト
2923 //"リソース指定:"
2924 SetDlgItemText(hwnd,IDC_IMAGE_SITUATION,STRING_IMAGEBOXPROP_STYLE_FROMRESOURCE);
2925
2926 SendDlgItemMessage(hwnd,IDC_RESOURCE,BM_SETCHECK,BST_CHECKED,0);
2927
2928 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_RESETCONTENT,0,0);
2929
2930 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_ICON){
2931 //アイコンリソースをコンボボックスに挿入
2932 BOOST_FOREACH( const ActiveBasic::Common::ResourceItem &resourceItem, projectInfo.resourceManager.iconResources )
2933 {
2934 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_ADDSTRING,0,(long)resourceItem.idName.c_str());
2935 }
2936 }
2937 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x0000000F)==SS_BITMAP){
2938 //ビットマップリソースをコンボボックスに挿入
2939 BOOST_FOREACH( const ActiveBasic::Common::ResourceItem &resourceItem, projectInfo.resourceManager.bitmapResources )
2940 {
2941 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_ADDSTRING,0,(long)resourceItem.idName.c_str());
2942 }
2943 }
2944 break;
2945
2946 case IDC_RESCOMBO:
2947 if(HIWORD(wParam)==CBN_SELCHANGE){
2948 //変更情報
2949 Rad_NoticeChanging(i,RAD_UNDO_IMAGESTATE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],(DWORD)&pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image);
2950
2951 i3=SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_GETCURSEL,0,0);
2952 SendDlgItemMessage(hwnd,IDC_RESCOMBO,CB_GETLBTEXT,i3,(long)temporary);
2953
2954 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.path = temporary;
2955
2956 DrawRadWindow(i,pWindowInfo);
2957 }
2958 break;
2959
2960 case IDC_CHANGEPATH:
2961 if(HIWORD(wParam)==BN_CLICKED){
2962 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.IsFile()){
2963 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x000F)==SS_ICON){
2964 extern LPSTR IconFileFilter;
2965 //"アイコン ファイルを指定して下さい"
2966 if(!GetFilePathDialog(hwnd,temporary,IconFileFilter,STRING_IMAGEBOXPROP_GETPATH_ICON,1)) return 1;
2967 }
2968 else if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&0x000F)==SS_BITMAP){
2969 extern LPSTR BitmapFileFilter;
2970 //"ビットマップ ファイルを指定して下さい"
2971 if(!GetFilePathDialog(hwnd,temporary,BitmapFileFilter,STRING_IMAGEBOXPROP_GETPATH_BITMAP,1)) return 1;
2972 }
2973
2974 //変更情報
2975 Rad_NoticeChanging(i,RAD_UNDO_IMAGESTATE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],(DWORD)&pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image);
2976
2977 lstrcpy( temporary, projectInfo.GetWorkDir().GetRelationalPath( temporary ).c_str() );
2978 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->image.path = temporary;
2979
2980 SetDlgItemText(hwnd,IDC_PATH,temporary);
2981 DrawRadWindow(i,pWindowInfo);
2982 }
2983 return 1;
2984 }
2985 break;
2986
2987 case IDC_SS_NOTIFY:
2988 if(HIWORD(wParam)==BN_CLICKED){
2989 //変更情報
2990 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
2991
2992 if(SendDlgItemMessage(hwnd,IDC_SS_NOTIFY,BM_GETCHECK,0,0))
2993 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_NOTIFY );
2994 else
2995 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( SS_NOTIFY );
2996 return 1;
2997 }
2998 break;
2999 case IDC_SS_CENTERIMAGE:
3000 if(HIWORD(wParam)==BN_CLICKED){
3001 //変更情報
3002 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3003
3004 if(SendDlgItemMessage(hwnd,IDC_SS_CENTERIMAGE,BM_GETCHECK,0,0))
3005 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_CENTERIMAGE );
3006 else
3007 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( SS_CENTERIMAGE );
3008 return 1;
3009 }
3010 break;
3011 case IDC_SS_RIGHTJUST:
3012 if(HIWORD(wParam)==BN_CLICKED){
3013 //変更情報
3014 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3015
3016 if(SendDlgItemMessage(hwnd,IDC_SS_RIGHTJUST,BM_GETCHECK,0,0))
3017 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_RIGHTJUST );
3018 else
3019 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( SS_RIGHTJUST );
3020 return 1;
3021 }
3022 break;
3023
3024 case IDC_EXSTYLE:
3025 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
3026 DrawRadWindow(i,pWindowInfo);
3027 return 1;
3028 }
3029 break;
3030 }
3031 }
3032 return 0;
3033}
3034
3035
3036////////////////////////
3037// LISTVIEW プロパティ
3038INT_PTR CALLBACK RadProperty_ListViewProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
3039 int i,i2,i3;
3040 static BOOL bInitial;
3041
3042 switch(message){
3043 case WM_INITDIALOG:
3044 {
3045 bInitial=1;
3046 i=GetWndNum(GetParent(GetParent(hwnd)));
3047 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
3048
3049 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
3050
3051
3052 /////////////////////////
3053 // スタイル
3054 ////////////
3055
3056 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
3057 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
3058 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
3059 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
3060
3061 ////////
3062 // 表示
3063 ////////
3064
3065 //"アイコン"
3066 SendDlgItemMessage(hwnd,IDC_LVS_VIEW,CB_ADDSTRING,0,(LPARAM)STRING_LISTVIEWPROP_STYLE_ICON);
3067 //"小さいアイコン"
3068 SendDlgItemMessage(hwnd,IDC_LVS_VIEW,CB_ADDSTRING,0,(LPARAM)STRING_LISTVIEWPROP_STYLE_SMALLICON);
3069 //"リスト"
3070 SendDlgItemMessage(hwnd,IDC_LVS_VIEW,CB_ADDSTRING,0,(LPARAM)STRING_LISTVIEWPROP_STYLE_LIST);
3071 //"レポート"
3072 SendDlgItemMessage(hwnd,IDC_LVS_VIEW,CB_ADDSTRING,0,(LPARAM)STRING_LISTVIEWPROP_STYLE_REPORT);
3073
3074 //ビットを考慮してLVS_LISTを最初に比較する
3075 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_LIST)==LVS_LIST) SendDlgItemMessage(hwnd,IDC_LVS_VIEW,CB_SETCURSEL,2,0);
3076 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_SMALLICON) SendDlgItemMessage(hwnd,IDC_LVS_VIEW,CB_SETCURSEL,1,0);
3077 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_REPORT) SendDlgItemMessage(hwnd,IDC_LVS_VIEW,CB_SETCURSEL,3,0);
3078 else SendDlgItemMessage(hwnd,IDC_LVS_VIEW,CB_SETCURSEL,0,0);
3079
3080
3081 ////////
3082 // 配置
3083 ////////
3084
3085 //"上端"
3086 SendDlgItemMessage(hwnd,IDC_LVS_POSITION,CB_ADDSTRING,0,(LPARAM)STRING_TOP);
3087 //"左端"
3088 SendDlgItemMessage(hwnd,IDC_LVS_POSITION,CB_ADDSTRING,0,(LPARAM)STRING_LEFT);
3089
3090 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_ALIGNLEFT) SendDlgItemMessage(hwnd,IDC_LVS_POSITION,CB_SETCURSEL,1,0);
3091 else SendDlgItemMessage(hwnd,IDC_LVS_POSITION,CB_SETCURSEL,0,0);
3092
3093
3094 //////////
3095 // ソート
3096 //////////
3097
3098 //"なし"
3099 SendDlgItemMessage(hwnd,IDC_LVS_SORT,CB_ADDSTRING,0,(LPARAM)STRING_NONE_);
3100 //"昇順"
3101 SendDlgItemMessage(hwnd,IDC_LVS_SORT,CB_ADDSTRING,0,(LPARAM)STRING_SORT_ASCENDING);
3102 //"降順"
3103 SendDlgItemMessage(hwnd,IDC_LVS_SORT,CB_ADDSTRING,0,(LPARAM)STRING_SORT_DESCENDING);
3104
3105 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_SORTASCENDING) SendDlgItemMessage(hwnd,IDC_LVS_SORT,CB_SETCURSEL,1,0);
3106 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_SORTDESCENDING) SendDlgItemMessage(hwnd,IDC_LVS_SORT,CB_SETCURSEL,2,0);
3107 else SendDlgItemMessage(hwnd,IDC_LVS_SORT,CB_SETCURSEL,0,0);
3108
3109 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_SINGLESEL) SendDlgItemMessage(hwnd,IDC_LVS_SINGLESEL,BM_SETCHECK,BST_CHECKED,0);
3110 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_AUTOARRANGE) SendDlgItemMessage(hwnd,IDC_LVS_AUTOARRANGE,BM_SETCHECK,BST_CHECKED,0);
3111 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_NOLABELWRAP) SendDlgItemMessage(hwnd,IDC_LVS_NOLABELWRAP,BM_SETCHECK,BST_CHECKED,0);
3112 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_EDITLABELS) SendDlgItemMessage(hwnd,IDC_LVS_EDITLABELS,BM_SETCHECK,BST_CHECKED,0);
3113 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_NOSCROLL) SendDlgItemMessage(hwnd,IDC_LVS_NOSCROLL,BM_SETCHECK,BST_CHECKED,0);
3114 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_NOCOLUMNHEADER) SendDlgItemMessage(hwnd,IDC_LVS_NOCOLUMNHEADER,BM_SETCHECK,BST_CHECKED,0);
3115 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_NOSORTHEADER) SendDlgItemMessage(hwnd,IDC_LVS_NOSORTHEADER,BM_SETCHECK,BST_CHECKED,0);
3116 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_SHOWSELALWAYS) SendDlgItemMessage(hwnd,IDC_LVS_SHOWSELALWAYS,BM_SETCHECK,BST_CHECKED,0);
3117 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_OWNERDRAWFIXED) SendDlgItemMessage(hwnd,IDC_LVS_OWNERDRAWFIXED,BM_SETCHECK,BST_CHECKED,0);
3118 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LVS_SHAREIMAGELISTS) SendDlgItemMessage(hwnd,IDC_LVS_SHAREIMAGELISTS,BM_SETCHECK,BST_CHECKED,0);
3119
3120 ApplyDialogTexture(hwnd);
3121 bInitial=0;
3122 break;
3123 }
3124 case WM_COMMAND:
3125 {
3126 i=GetWndNum(GetParent(GetParent(hwnd)));
3127 if(i==-1) return 1;
3128 i2=GetWndInfoNum(MdiInfo[i]->path);
3129 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
3130
3131 //共通スタイル
3132 if(bInitial==0){
3133 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
3134 }
3135
3136 switch(LOWORD(wParam)){
3137 case IDC_LVS_VIEW:
3138 if(HIWORD(wParam)==CBN_SELCHANGE){
3139 //変更情報
3140 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3141
3142 i3=SendDlgItemMessage(hwnd,IDC_LVS_VIEW,CB_GETCURSEL,0,0);
3143 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_SMALLICON|LVS_LIST|LVS_REPORT );
3144 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_SMALLICON );
3145 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_LIST );
3146 else if(i3==3) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_REPORT );
3147 DrawRadWindow(i,pWindowInfo);
3148 return 1;
3149 }
3150 break;
3151 case IDC_LVS_POSITION:
3152 if(HIWORD(wParam)==CBN_SELCHANGE){
3153 //変更情報
3154 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3155
3156 i3=SendDlgItemMessage(hwnd,IDC_LVS_POSITION,CB_GETCURSEL,0,0);
3157 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_ALIGNLEFT );
3158 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_ALIGNLEFT );
3159 return 1;
3160 }
3161 break;
3162 case IDC_LVS_SORT:
3163 if(HIWORD(wParam)==CBN_SELCHANGE){
3164 //変更情報
3165 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3166
3167 i3=SendDlgItemMessage(hwnd,IDC_LVS_SORT,CB_GETCURSEL,0,0);
3168 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_SORTASCENDING|LVS_SORTDESCENDING );
3169 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_SORTASCENDING );
3170 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_SORTDESCENDING );
3171 return 1;
3172 }
3173 break;
3174
3175 case IDC_LVS_SINGLESEL:
3176 if(HIWORD(wParam)==BN_CLICKED){
3177 //変更情報
3178 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3179
3180 if(SendDlgItemMessage(hwnd,IDC_LVS_SINGLESEL,BM_GETCHECK,0,0))
3181 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_SINGLESEL );
3182 else
3183 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_SINGLESEL );
3184 return 1;
3185 }
3186 break;
3187 case IDC_LVS_AUTOARRANGE:
3188 if(HIWORD(wParam)==BN_CLICKED){
3189 //変更情報
3190 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3191
3192 if(SendDlgItemMessage(hwnd,IDC_LVS_AUTOARRANGE,BM_GETCHECK,0,0))
3193 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_AUTOARRANGE );
3194 else
3195 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_AUTOARRANGE );
3196 return 1;
3197 }
3198 break;
3199 case IDC_LVS_NOLABELWRAP:
3200 if(HIWORD(wParam)==BN_CLICKED){
3201 //変更情報
3202 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3203
3204 if(SendDlgItemMessage(hwnd,IDC_LVS_NOLABELWRAP,BM_GETCHECK,0,0))
3205 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_NOLABELWRAP );
3206 else
3207 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_NOLABELWRAP );
3208 return 1;
3209 }
3210 break;
3211 case IDC_LVS_EDITLABELS:
3212 if(HIWORD(wParam)==BN_CLICKED){
3213 //変更情報
3214 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3215
3216 if(SendDlgItemMessage(hwnd,IDC_LVS_EDITLABELS,BM_GETCHECK,0,0))
3217 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_EDITLABELS );
3218 else
3219 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_EDITLABELS );
3220 return 1;
3221 }
3222 break;
3223 case IDC_LVS_NOSCROLL:
3224 if(HIWORD(wParam)==BN_CLICKED){
3225 //変更情報
3226 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3227
3228 if(SendDlgItemMessage(hwnd,IDC_LVS_NOSCROLL,BM_GETCHECK,0,0))
3229 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_NOSCROLL );
3230 else
3231 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_NOSCROLL );
3232 DrawRadWindow(i,pWindowInfo);
3233 return 1;
3234 }
3235 break;
3236 case IDC_LVS_NOCOLUMNHEADER:
3237 if(HIWORD(wParam)==BN_CLICKED){
3238 //変更情報
3239 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3240
3241 if(SendDlgItemMessage(hwnd,IDC_LVS_NOCOLUMNHEADER,BM_GETCHECK,0,0))
3242 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_NOCOLUMNHEADER );
3243 else
3244 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_NOCOLUMNHEADER );
3245 return 1;
3246 }
3247 break;
3248 case IDC_LVS_NOSORTHEADER:
3249 if(HIWORD(wParam)==BN_CLICKED){
3250 //変更情報
3251 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3252
3253 if(SendDlgItemMessage(hwnd,IDC_LVS_NOSORTHEADER,BM_GETCHECK,0,0))
3254 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_NOSORTHEADER );
3255 else
3256 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_NOSORTHEADER );
3257 return 1;
3258 }
3259 break;
3260 case IDC_LVS_SHOWSELALWAYS:
3261 if(HIWORD(wParam)==BN_CLICKED){
3262 //変更情報
3263 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3264
3265 if(SendDlgItemMessage(hwnd,IDC_LVS_SHOWSELALWAYS,BM_GETCHECK,0,0))
3266 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_SHOWSELALWAYS );
3267 else
3268 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_SHOWSELALWAYS );
3269 return 1;
3270 }
3271 break;
3272 case IDC_LVS_OWNERDRAWFIXED:
3273 if(HIWORD(wParam)==BN_CLICKED){
3274 //変更情報
3275 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3276
3277 if(SendDlgItemMessage(hwnd,IDC_LVS_OWNERDRAWFIXED,BM_GETCHECK,0,0))
3278 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_OWNERDRAWFIXED );
3279 else
3280 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_OWNERDRAWFIXED );
3281 return 1;
3282 }
3283 break;
3284 case IDC_LVS_SHAREIMAGELISTS:
3285 if(HIWORD(wParam)==BN_CLICKED){
3286 //変更情報
3287 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3288
3289 if(SendDlgItemMessage(hwnd,IDC_LVS_SHAREIMAGELISTS,BM_GETCHECK,0,0))
3290 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LVS_SHAREIMAGELISTS );
3291 else
3292 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LVS_SHAREIMAGELISTS );
3293 return 1;
3294 }
3295 break;
3296
3297 case IDC_EXSTYLE:
3298 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
3299 DrawRadWindow(i,pWindowInfo);
3300 return 1;
3301 }
3302 break;
3303 }
3304 }
3305 return 0;
3306}
3307
3308
3309///////////////////////
3310// LISTBOX プロパティ
3311
3312void RadProperty_ListBox_StylingOrder(HWND hwnd,DWORD *style){
3313 if(*style&LBS_OWNERDRAWVARIABLE){
3314 *style&=~(LBS_MULTICOLUMN);
3315 SendDlgItemMessage(hwnd,IDC_LBS_MULTICOLUMN,BM_SETCHECK,BST_UNCHECKED,0);
3316 EnableWindow(GetDlgItem(hwnd,IDC_LBS_MULTICOLUMN),0);
3317 }
3318 else
3319 EnableWindow(GetDlgItem(hwnd,IDC_LBS_MULTICOLUMN),1);
3320
3321 if(!(*style&(LBS_OWNERDRAWFIXED|LBS_OWNERDRAWVARIABLE))){
3322 *style&=~(LBS_HASSTRINGS);
3323 SendDlgItemMessage(hwnd,IDC_LBS_HASSTRINGS,BM_SETCHECK,BST_UNCHECKED,0);
3324 EnableWindow(GetDlgItem(hwnd,IDC_LBS_HASSTRINGS),0);
3325 }
3326 else
3327 EnableWindow(GetDlgItem(hwnd,IDC_LBS_HASSTRINGS),1);
3328}
3329INT_PTR CALLBACK RadProperty_ListBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
3330 int i,i2,i3;
3331 static BOOL bInitial;
3332
3333 switch(message){
3334 case WM_INITDIALOG:
3335 {
3336 bInitial=1;
3337 i=GetWndNum(GetParent(GetParent(hwnd)));
3338 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
3339
3340 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
3341
3342
3343 ////////////////////////
3344 // スタイル
3345 ////////////
3346
3347 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
3348 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
3349 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
3350 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
3351
3352 ////////
3353 // 選択
3354 ////////
3355
3356 //"シングル"
3357 SendDlgItemMessage(hwnd,IDC_LBS_SELECT,CB_ADDSTRING,0,(LPARAM)STRING_LISTBOXPROP_STYLE_SEL_SINGLE);
3358 //"マルチ"
3359 SendDlgItemMessage(hwnd,IDC_LBS_SELECT,CB_ADDSTRING,0,(LPARAM)STRING_LISTBOXPROP_STYLE_SEL_MULTI);
3360 //"拡張"
3361 SendDlgItemMessage(hwnd,IDC_LBS_SELECT,CB_ADDSTRING,0,(LPARAM)STRING_LISTBOXPROP_STYLE_SEL_EXTENDED);
3362 //"なし"
3363 SendDlgItemMessage(hwnd,IDC_LBS_SELECT,CB_ADDSTRING,0,(LPARAM)STRING_NONE_);
3364
3365 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_MULTIPLESEL) SendDlgItemMessage(hwnd,IDC_LBS_SELECT,CB_SETCURSEL,1,0);
3366 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_EXTENDEDSEL) SendDlgItemMessage(hwnd,IDC_LBS_SELECT,CB_SETCURSEL,2,0);
3367 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_NOSEL) SendDlgItemMessage(hwnd,IDC_LBS_SELECT,CB_SETCURSEL,3,0);
3368 else SendDlgItemMessage(hwnd,IDC_LBS_SELECT,CB_SETCURSEL,0,0);
3369
3370
3371 ////////////////
3372 // オーナー描画
3373 ////////////////
3374
3375 //"なし"
3376 SendDlgItemMessage(hwnd,IDC_LBS_OWNERDRAW,CB_ADDSTRING,0,(LPARAM)STRING_NONE_);
3377 //"固定"
3378 SendDlgItemMessage(hwnd,IDC_LBS_OWNERDRAW,CB_ADDSTRING,0,(LPARAM)STRING_OWNERDRAW_FIXED);
3379 //"可変"
3380 SendDlgItemMessage(hwnd,IDC_LBS_OWNERDRAW,CB_ADDSTRING,0,(LPARAM)STRING_OWNERDRAW_VARIABLE);
3381
3382 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_OWNERDRAWFIXED) SendDlgItemMessage(hwnd,IDC_LBS_OWNERDRAW,CB_SETCURSEL,1,0);
3383 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_OWNERDRAWVARIABLE) SendDlgItemMessage(hwnd,IDC_LBS_OWNERDRAW,CB_SETCURSEL,2,0);
3384 else SendDlgItemMessage(hwnd,IDC_LBS_OWNERDRAW,CB_SETCURSEL,0,0);
3385
3386 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_HASSTRINGS) SendDlgItemMessage(hwnd,IDC_LBS_HASSTRINGS,BM_SETCHECK,BST_CHECKED,0);
3387 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_SORT) SendDlgItemMessage(hwnd,IDC_LBS_SORT,BM_SETCHECK,BST_CHECKED,0);
3388 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_NOTIFY) SendDlgItemMessage(hwnd,IDC_LBS_NOTIFY,BM_SETCHECK,BST_CHECKED,0);
3389 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_MULTICOLUMN) SendDlgItemMessage(hwnd,IDC_LBS_MULTICOLUMN,BM_SETCHECK,BST_CHECKED,0);
3390 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_HSCROLL) SendDlgItemMessage(hwnd,IDC_STYLE_HSCROLL,BM_SETCHECK,BST_CHECKED,0);
3391 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VSCROLL) SendDlgItemMessage(hwnd,IDC_STYLE_VSCROLL,BM_SETCHECK,BST_CHECKED,0);
3392 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_DISABLENOSCROLL) SendDlgItemMessage(hwnd,IDC_LBS_DISABLENOSCROLL,BM_SETCHECK,BST_CHECKED,0);
3393 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_NOREDRAW) SendDlgItemMessage(hwnd,IDC_LBS_NOREDRAW,BM_SETCHECK,BST_CHECKED,0);
3394 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_USETABSTOPS) SendDlgItemMessage(hwnd,IDC_LBS_USETABSTOPS,BM_SETCHECK,BST_CHECKED,0);
3395 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&LBS_WANTKEYBOARDINPUT) SendDlgItemMessage(hwnd,IDC_LBS_WANTKEYBOARDINPUT,BM_SETCHECK,BST_CHECKED,0);
3396
3397 DWORD tempStyle = pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle();
3398 RadProperty_ListBox_StylingOrder(hwnd,&tempStyle);
3399 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->SetStyle( tempStyle );
3400
3401 ApplyDialogTexture(hwnd);
3402 bInitial=0;
3403 break;
3404 }
3405 case WM_COMMAND:
3406 {
3407 i=GetWndNum(GetParent(GetParent(hwnd)));
3408 if(i==-1) return 1;
3409 i2=GetWndInfoNum(MdiInfo[i]->path);
3410 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
3411
3412 //共通スタイル
3413 if(bInitial==0){
3414 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
3415 }
3416
3417 switch(LOWORD(wParam)){
3418 case IDC_LBS_SELECT:
3419 if(HIWORD(wParam)==CBN_SELCHANGE){
3420 //変更情報
3421 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3422
3423 i3=SendDlgItemMessage(hwnd,IDC_LBS_SELECT,CB_GETCURSEL,0,0);
3424 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LBS_MULTIPLESEL|LBS_EXTENDEDSEL|LBS_NOSEL );
3425 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_MULTIPLESEL );
3426 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_EXTENDEDSEL );
3427 else if(i3==3) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_NOSEL );
3428 return 1;
3429 }
3430 break;
3431 case IDC_LBS_OWNERDRAW:
3432 if(HIWORD(wParam)==CBN_SELCHANGE){
3433 //変更情報
3434 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3435
3436 i3=SendDlgItemMessage(hwnd,IDC_LBS_OWNERDRAW,CB_GETCURSEL,0,0);
3437 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LBS_OWNERDRAWFIXED|LBS_OWNERDRAWVARIABLE );
3438 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_OWNERDRAWFIXED );
3439 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_OWNERDRAWVARIABLE );
3440
3441 DWORD tempStyle = pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle();
3442 RadProperty_ListBox_StylingOrder(hwnd,&tempStyle);
3443 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->SetStyle( tempStyle );
3444 return 1;
3445 }
3446 break;
3447
3448 case IDC_LBS_HASSTRINGS:
3449 if(HIWORD(wParam)==BN_CLICKED){
3450 //変更情報
3451 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3452
3453 if(SendDlgItemMessage(hwnd,IDC_LBS_HASSTRINGS,BM_GETCHECK,0,0))
3454 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_HASSTRINGS );
3455 else
3456 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LBS_HASSTRINGS );
3457 return 1;
3458 }
3459 break;
3460 case IDC_LBS_SORT:
3461 if(HIWORD(wParam)==BN_CLICKED){
3462 //変更情報
3463 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3464
3465 if(SendDlgItemMessage(hwnd,IDC_LBS_SORT,BM_GETCHECK,0,0))
3466 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_SORT );
3467 else
3468 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LBS_SORT );
3469 return 1;
3470 }
3471 break;
3472 case IDC_LBS_NOTIFY:
3473 if(HIWORD(wParam)==BN_CLICKED){
3474 //変更情報
3475 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3476
3477 if(SendDlgItemMessage(hwnd,IDC_LBS_NOTIFY,BM_GETCHECK,0,0))
3478 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_NOTIFY );
3479 else
3480 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LBS_NOTIFY );
3481 return 1;
3482 }
3483 break;
3484 case IDC_LBS_MULTICOLUMN:
3485 if(HIWORD(wParam)==BN_CLICKED){
3486 //変更情報
3487 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3488
3489 if(SendDlgItemMessage(hwnd,IDC_LBS_MULTICOLUMN,BM_GETCHECK,0,0))
3490 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_MULTICOLUMN );
3491 else
3492 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LBS_MULTICOLUMN );
3493 return 1;
3494 }
3495 break;
3496 case IDC_STYLE_HSCROLL:
3497 if(HIWORD(wParam)==BN_CLICKED){
3498 //変更情報
3499 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3500
3501 if(SendDlgItemMessage(hwnd,IDC_STYLE_HSCROLL,BM_GETCHECK,0,0))
3502 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( WS_HSCROLL );
3503 else
3504 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( WS_HSCROLL );
3505 DrawRadWindow(i,pWindowInfo);
3506 return 1;
3507 }
3508 break;
3509 case IDC_STYLE_VSCROLL:
3510 if(HIWORD(wParam)==BN_CLICKED){
3511 //変更情報
3512 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3513
3514 if(SendDlgItemMessage(hwnd,IDC_STYLE_VSCROLL,BM_GETCHECK,0,0))
3515 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( WS_VSCROLL );
3516 else
3517 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( WS_VSCROLL );
3518 DrawRadWindow(i,pWindowInfo);
3519 return 1;
3520 }
3521 break;
3522 case IDC_LBS_DISABLENOSCROLL:
3523 if(HIWORD(wParam)==BN_CLICKED){
3524 //変更情報
3525 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3526
3527 if(SendDlgItemMessage(hwnd,IDC_LBS_DISABLENOSCROLL,BM_GETCHECK,0,0))
3528 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_DISABLENOSCROLL );
3529 else
3530 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LBS_DISABLENOSCROLL );
3531 DrawRadWindow(i,pWindowInfo);
3532 return 1;
3533 }
3534 break;
3535 case IDC_LBS_NOREDRAW:
3536 if(HIWORD(wParam)==BN_CLICKED){
3537 //変更情報
3538 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3539
3540 if(SendDlgItemMessage(hwnd,IDC_LBS_NOREDRAW,BM_GETCHECK,0,0))
3541 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_NOREDRAW );
3542 else
3543 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LBS_NOREDRAW );
3544 return 1;
3545 }
3546 break;
3547 case IDC_LBS_USETABSTOPS:
3548 if(HIWORD(wParam)==BN_CLICKED){
3549 //変更情報
3550 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3551
3552 if(SendDlgItemMessage(hwnd,IDC_LBS_USETABSTOPS,BM_GETCHECK,0,0))
3553 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_USETABSTOPS );
3554 else
3555 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LBS_USETABSTOPS );
3556 return 1;
3557 }
3558 break;
3559 case IDC_LBS_WANTKEYBOARDINPUT:
3560 if(HIWORD(wParam)==BN_CLICKED){
3561 //変更情報
3562 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3563
3564 if(SendDlgItemMessage(hwnd,IDC_LBS_WANTKEYBOARDINPUT,BM_GETCHECK,0,0))
3565 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( LBS_WANTKEYBOARDINPUT );
3566 else
3567 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( LBS_WANTKEYBOARDINPUT );
3568 return 1;
3569 }
3570 break;
3571
3572 case IDC_EXSTYLE:
3573 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
3574 DrawRadWindow(i,pWindowInfo);
3575 return 1;
3576 }
3577 break;
3578 }
3579 }
3580 return 0;
3581}
3582
3583
3584///////////////////////////
3585// PROGRESSBAR プロパティ
3586INT_PTR CALLBACK RadProperty_ProgressBarProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
3587 int i,i2;
3588 static BOOL bInitial;
3589
3590 switch(message){
3591 case WM_INITDIALOG:
3592 {
3593 bInitial=1;
3594 i=GetWndNum(GetParent(GetParent(hwnd)));
3595 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
3596
3597 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
3598 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetCaption().c_str());
3599
3600
3601 ////////////
3602 //スタイル
3603
3604 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
3605 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
3606 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
3607 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
3608
3609 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&PBS_VERTICAL) SendDlgItemMessage(hwnd,IDC_PBS_VERTICAL,BM_SETCHECK,BST_CHECKED,0);
3610 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&PBS_SMOOTH) SendDlgItemMessage(hwnd,IDC_PBS_SMOOTH,BM_SETCHECK,BST_CHECKED,0);
3611
3612 ApplyDialogTexture(hwnd);
3613 bInitial=0;
3614 break;
3615 }
3616 case WM_COMMAND:
3617 {
3618 i=GetWndNum(GetParent(GetParent(hwnd)));
3619 if(i==-1) return 1;
3620 i2=GetWndInfoNum(MdiInfo[i]->path);
3621 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
3622
3623 //共通スタイル
3624 if(bInitial==0){
3625 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
3626 }
3627
3628 switch(LOWORD(wParam)){
3629 case IDC_PBS_VERTICAL:
3630 if(HIWORD(wParam)==BN_CLICKED){
3631 //変更情報
3632 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3633
3634 if(SendDlgItemMessage(hwnd,IDC_PBS_VERTICAL,BM_GETCHECK,0,0))
3635 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( PBS_VERTICAL );
3636 else
3637 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( PBS_VERTICAL );
3638 DrawRadWindow(i,pWindowInfo);
3639 return 1;
3640 }
3641 break;
3642 case IDC_PBS_SMOOTH:
3643 if(HIWORD(wParam)==BN_CLICKED){
3644 //変更情報
3645 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3646
3647 if(SendDlgItemMessage(hwnd,IDC_PBS_SMOOTH,BM_GETCHECK,0,0))
3648 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( PBS_SMOOTH );
3649 else
3650 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( PBS_SMOOTH );
3651 DrawRadWindow(i,pWindowInfo);
3652 return 1;
3653 }
3654 break;
3655
3656 case IDC_EXSTYLE:
3657 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
3658 DrawRadWindow(i,pWindowInfo);
3659 return 1;
3660 }
3661 }
3662 }
3663 return 0;
3664}
3665
3666
3667///////////////////////////
3668// RADIOBUTTON プロパティ
3669
3670INT_PTR CALLBACK RadProperty_RadioButtonProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
3671 int i,i2,i3;
3672 static BOOL bInitial;
3673
3674 switch(message){
3675 case WM_INITDIALOG:
3676 {
3677 bInitial=1;
3678 i=GetWndNum(GetParent(GetParent(hwnd)));
3679 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
3680
3681 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
3682 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetCaption().c_str());
3683
3684
3685 /////////////////////////
3686 // スタイル
3687 ////////////
3688
3689 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
3690 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
3691 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
3692 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
3693
3694 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_AUTORADIOBUTTON)==BS_AUTORADIOBUTTON) SendDlgItemMessage(hwnd,IDC_BS_AUTO,BM_SETCHECK,BST_CHECKED,0);
3695 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_PUSHLIKE) SendDlgItemMessage(hwnd,IDC_BS_PUSHLIKE,BM_SETCHECK,BST_CHECKED,0);
3696 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_LEFTTEXT) SendDlgItemMessage(hwnd,IDC_BS_LEFTTEXT,BM_SETCHECK,BST_CHECKED,0);
3697 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_ICON) SendDlgItemMessage(hwnd,IDC_BS_ICON,BM_SETCHECK,BST_CHECKED,0);
3698 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_BITMAP) SendDlgItemMessage(hwnd,IDC_BS_BITMAP,BM_SETCHECK,BST_CHECKED,0);
3699 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_MULTILINE) SendDlgItemMessage(hwnd,IDC_BS_MULTILINE,BM_SETCHECK,BST_CHECKED,0);
3700 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_NOTIFY) SendDlgItemMessage(hwnd,IDC_BS_NOTIFY,BM_SETCHECK,BST_CHECKED,0);
3701
3702
3703 //////////////////
3704 // 水平方向の配置
3705 //////////////////
3706
3707 //"デフォルト"
3708 SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_ADDSTRING,0,(LPARAM)STRING_DEFAULT);
3709 //"左端"
3710 SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_ADDSTRING,0,(LPARAM)STRING_LEFT);
3711 //"右端"
3712 SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_ADDSTRING,0,(LPARAM)STRING_RIGHT);
3713 //"中央"
3714 SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_ADDSTRING,0,(LPARAM)STRING_CENTER);
3715
3716 //ビットを考慮してBS_CENTERを最初に比較する
3717 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_CENTER)==BS_CENTER) SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_SETCURSEL,3,0);
3718 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_LEFT) SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_SETCURSEL,1,0);
3719 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_RIGHT) SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_SETCURSEL,2,0);
3720 else SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_SETCURSEL,0,0);
3721
3722
3723 //////////////////
3724 // 垂直方向の配置
3725 //////////////////
3726
3727 //"デフォルト"
3728 SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_ADDSTRING,0,(LPARAM)STRING_DEFAULT);
3729 //"上端"
3730 SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_ADDSTRING,0,(LPARAM)STRING_TOP);
3731 //"下端"
3732 SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_ADDSTRING,0,(LPARAM)STRING_BOTTOM);
3733 //"中央"
3734 SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_ADDSTRING,0,(LPARAM)STRING_CENTER);
3735
3736 //ビットを考慮してBS_VCENTERを最初に比較する
3737 if((pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_VCENTER)==BS_VCENTER) SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_SETCURSEL,3,0);
3738 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_TOP) SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_SETCURSEL,1,0);
3739 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&BS_BOTTOM) SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_SETCURSEL,2,0);
3740 else SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_SETCURSEL,0,0);
3741
3742 ApplyDialogTexture(hwnd);
3743 bInitial=0;
3744 break;
3745 }
3746 case WM_COMMAND:
3747 {
3748 i=GetWndNum(GetParent(GetParent(hwnd)));
3749 if(i==-1) return 1;
3750 i2=GetWndInfoNum(MdiInfo[i]->path);
3751 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
3752
3753 //共通スタイル
3754 if(bInitial==0){
3755 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
3756 }
3757
3758 switch(LOWORD(wParam)){
3759 case IDC_BS_AUTO:
3760 if(HIWORD(wParam)==BN_CLICKED){
3761 //変更情報
3762 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3763
3764 if(SendDlgItemMessage(hwnd,IDC_BS_AUTO,BM_GETCHECK,0,0)){
3765 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AndStyle( 0xFFFFFFF0 );
3766 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_AUTORADIOBUTTON );
3767 }
3768 else{
3769 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AndStyle( 0xFFFFFFF0 );
3770 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_RADIOBUTTON );
3771 }
3772 return 1;
3773 }
3774 break;
3775 case IDC_BS_PUSHLIKE:
3776 if(HIWORD(wParam)==BN_CLICKED){
3777 //変更情報
3778 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3779
3780 if(SendDlgItemMessage(hwnd,IDC_BS_PUSHLIKE,BM_GETCHECK,0,0))
3781 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_PUSHLIKE );
3782 else
3783 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_PUSHLIKE );
3784 DrawRadWindow(i,pWindowInfo);
3785 return 1;
3786 }
3787 break;
3788 case IDC_BS_LEFTTEXT:
3789 if(HIWORD(wParam)==BN_CLICKED){
3790 //変更情報
3791 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3792
3793 if(SendDlgItemMessage(hwnd,IDC_BS_LEFTTEXT,BM_GETCHECK,0,0))
3794 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_LEFTTEXT );
3795 else
3796 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_LEFTTEXT );
3797 DrawRadWindow(i,pWindowInfo);
3798 return 1;
3799 }
3800 break;
3801 case IDC_BS_ICON:
3802 if(HIWORD(wParam)==BN_CLICKED){
3803 //変更情報
3804 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3805
3806 if(SendDlgItemMessage(hwnd,IDC_BS_ICON,BM_GETCHECK,0,0)){
3807 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_ICON );
3808 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_BITMAP );
3809 SendDlgItemMessage(hwnd,IDC_BS_BITMAP,BM_SETCHECK,BST_UNCHECKED,0);
3810 }
3811 else
3812 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_ICON );
3813 DrawRadWindow(i,pWindowInfo);
3814 return 1;
3815 }
3816 break;
3817 case IDC_BS_BITMAP:
3818 if(HIWORD(wParam)==BN_CLICKED){
3819 //変更情報
3820 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3821
3822 if(SendDlgItemMessage(hwnd,IDC_BS_BITMAP,BM_GETCHECK,0,0)){
3823 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_BITMAP );
3824 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_ICON );
3825 SendDlgItemMessage(hwnd,IDC_BS_ICON,BM_SETCHECK,BST_UNCHECKED,0);
3826 }
3827 else
3828 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_BITMAP );
3829 DrawRadWindow(i,pWindowInfo);
3830 return 1;
3831 }
3832 break;
3833 case IDC_BS_MULTILINE:
3834 if(HIWORD(wParam)==BN_CLICKED){
3835 //変更情報
3836 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3837
3838 if(SendDlgItemMessage(hwnd,IDC_BS_MULTILINE,BM_GETCHECK,0,0))
3839 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_MULTILINE );
3840 else
3841 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_MULTILINE );
3842 DrawRadWindow(i,pWindowInfo);
3843 return 1;
3844 }
3845 break;
3846 case IDC_BS_NOTIFY:
3847 if(HIWORD(wParam)==BN_CLICKED){
3848 //変更情報
3849 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3850
3851 if(SendDlgItemMessage(hwnd,IDC_BS_NOTIFY,BM_GETCHECK,0,0))
3852 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_NOTIFY );
3853 else
3854 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_NOTIFY );
3855 return 1;
3856 }
3857 break;
3858
3859 case IDC_BS_HPOS:
3860 if(HIWORD(wParam)==CBN_SELCHANGE){
3861 //変更情報
3862 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3863
3864 i3=SendDlgItemMessage(hwnd,IDC_BS_HPOS,CB_GETCURSEL,0,0);
3865 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_LEFT|BS_RIGHT|BS_CENTER );
3866 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_LEFT );
3867 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_RIGHT );
3868 else if(i3==3) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_CENTER );
3869 DrawRadWindow(i,pWindowInfo);
3870 return 1;
3871 }
3872 break;
3873 case IDC_BS_VPOS:
3874 if(HIWORD(wParam)==CBN_SELCHANGE){
3875 //変更情報
3876 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3877
3878 i3=SendDlgItemMessage(hwnd,IDC_BS_VPOS,CB_GETCURSEL,0,0);
3879 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( BS_TOP|BS_BOTTOM|BS_VCENTER );
3880 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_TOP );
3881 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_BOTTOM );
3882 else if(i3==3) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( BS_VCENTER );
3883 DrawRadWindow(i,pWindowInfo);
3884 return 1;
3885 }
3886 break;
3887
3888 case IDC_EXSTYLE:
3889 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
3890 DrawRadWindow(i,pWindowInfo);
3891 return 1;
3892 }
3893 break;
3894 }
3895 }
3896 return 0;
3897}
3898
3899
3900/////////////////////////
3901// SCROLLBAR プロパティ
3902
3903INT_PTR CALLBACK RadProperty_ScrollBarProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
3904 int i,i2,i3;
3905 static BOOL bInitial;
3906
3907 switch(message){
3908 case WM_INITDIALOG:
3909 {
3910 bInitial=1;
3911 i=GetWndNum(GetParent(GetParent(hwnd)));
3912 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
3913
3914 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
3915
3916
3917 ////////////////////////
3918 // スタイル
3919 ////////////
3920
3921 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
3922 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
3923 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
3924 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
3925
3926
3927 ////////
3928 // 配置
3929 ////////
3930
3931 //"指定無し"
3932 SendDlgItemMessage(hwnd,IDC_SBS_POSITION,CB_ADDSTRING,0,(LPARAM)STRING_SCROLLBARPROP_STYLE_FREE);
3933 //"上/左"
3934 SendDlgItemMessage(hwnd,IDC_SBS_POSITION,CB_ADDSTRING,0,(LPARAM)STRING_SCROLLBARPROP_STYLE_TOPORLEFT);
3935 //"下/右"
3936 SendDlgItemMessage(hwnd,IDC_SBS_POSITION,CB_ADDSTRING,0,(LPARAM)STRING_SCROLLBARPROP_STYLE_BOTTOMORRIGHT);
3937
3938 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&SBS_TOPALIGN) SendDlgItemMessage(hwnd,IDC_SBS_POSITION,CB_SETCURSEL,1,0);
3939 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&SBS_BOTTOMALIGN) SendDlgItemMessage(hwnd,IDC_SBS_POSITION,CB_SETCURSEL,2,0);
3940 else SendDlgItemMessage(hwnd,IDC_SBS_POSITION,CB_SETCURSEL,0,0);
3941
3942 ApplyDialogTexture(hwnd);
3943 bInitial=0;
3944 break;
3945 }
3946 case WM_COMMAND:
3947 {
3948 i=GetWndNum(GetParent(GetParent(hwnd)));
3949 if(i==-1) return 1;
3950 i2=GetWndInfoNum(MdiInfo[i]->path);
3951 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
3952
3953 //共通スタイル
3954 if(bInitial==0){
3955 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
3956 }
3957
3958 switch(LOWORD(wParam)){
3959 case IDC_SBS_POSITION:
3960 if(HIWORD(wParam)==CBN_SELCHANGE){
3961 //変更情報
3962 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
3963
3964 i3=SendDlgItemMessage(hwnd,IDC_SBS_POSITION,CB_GETCURSEL,0,0);
3965 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( SBS_TOPALIGN|SBS_BOTTOMALIGN );
3966 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SBS_TOPALIGN );
3967 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SBS_BOTTOMALIGN );
3968 return 1;
3969 }
3970 break;
3971
3972 case IDC_EXSTYLE:
3973 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
3974 DrawRadWindow(i,pWindowInfo);
3975 return 1;
3976 }
3977 break;
3978 }
3979 }
3980 return 0;
3981}
3982
3983
3984//////////////////////
3985// STATIC プロパティ
3986
3987INT_PTR CALLBACK RadProperty_StaticProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
3988 int i,i2,i3;
3989 static BOOL bInitial;
3990
3991 switch(message){
3992 case WM_INITDIALOG:
3993 {
3994 bInitial=1;
3995 i=GetWndNum(GetParent(GetParent(hwnd)));
3996 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
3997
3998 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
3999 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetCaption().c_str());
4000
4001
4002 ////////////////////////
4003 // スタイル
4004 ////////////
4005
4006 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
4007 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
4008 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
4009 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
4010
4011 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&SS_NOPREFIX) SendDlgItemMessage(hwnd,IDC_SS_NOPREFIX,BM_SETCHECK,BST_CHECKED,0);
4012 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&SS_LEFTNOWORDWRAP) SendDlgItemMessage(hwnd,IDC_SS_LEFTNOWORDWRAP,BM_SETCHECK,BST_CHECKED,0);
4013 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&SS_NOTIFY) SendDlgItemMessage(hwnd,IDC_SS_NOTIFY,BM_SETCHECK,BST_CHECKED,0);
4014
4015
4016 //////////////////
4017 // テキストの配置
4018 //////////////////
4019
4020 //"左端"
4021 SendDlgItemMessage(hwnd,IDC_SS_TEXTPOS,CB_ADDSTRING,0,(LPARAM)STRING_LEFT);
4022 //"中央"
4023 SendDlgItemMessage(hwnd,IDC_SS_TEXTPOS,CB_ADDSTRING,0,(LPARAM)STRING_CENTER);
4024 //"右端"
4025 SendDlgItemMessage(hwnd,IDC_SS_TEXTPOS,CB_ADDSTRING,0,(LPARAM)STRING_RIGHT);
4026
4027 //ビットを考慮してSS_LEFTを最後に検討する
4028 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&SS_CENTER) SendDlgItemMessage(hwnd,IDC_SS_TEXTPOS,CB_SETCURSEL,1,0);
4029 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&SS_RIGHT) SendDlgItemMessage(hwnd,IDC_SS_TEXTPOS,CB_SETCURSEL,2,0);
4030 else SendDlgItemMessage(hwnd,IDC_SS_TEXTPOS,CB_SETCURSEL,0,0);
4031
4032 ApplyDialogTexture(hwnd);
4033 bInitial=0;
4034 break;
4035 }
4036 case WM_COMMAND:
4037 {
4038 i=GetWndNum(GetParent(GetParent(hwnd)));
4039 if(i==-1) return 1;
4040 i2=GetWndInfoNum(MdiInfo[i]->path);
4041 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
4042
4043 //共通スタイル
4044 if(bInitial==0){
4045 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
4046 }
4047
4048 switch(LOWORD(wParam)){
4049 case IDC_SS_NOPREFIX:
4050 if(HIWORD(wParam)==BN_CLICKED){
4051 //変更情報
4052 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4053
4054 if(SendDlgItemMessage(hwnd,IDC_SS_NOPREFIX,BM_GETCHECK,0,0))
4055 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_NOPREFIX );
4056 else
4057 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( SS_NOPREFIX );
4058 return 1;
4059 }
4060 break;
4061 case IDC_SS_LEFTNOWORDWRAP:
4062 if(HIWORD(wParam)==BN_CLICKED){
4063 //変更情報
4064 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4065
4066 if(SendDlgItemMessage(hwnd,IDC_SS_LEFTNOWORDWRAP,BM_GETCHECK,0,0))
4067 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_LEFTNOWORDWRAP );
4068 else
4069 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( SS_LEFTNOWORDWRAP );
4070
4071 DrawRadWindow(i,pWindowInfo);
4072 return 1;
4073 }
4074 break;
4075 case IDC_SS_NOTIFY:
4076 if(HIWORD(wParam)==BN_CLICKED){
4077 //変更情報
4078 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4079
4080 if(SendDlgItemMessage(hwnd,IDC_SS_NOTIFY,BM_GETCHECK,0,0))
4081 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_NOTIFY );
4082 else
4083 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( SS_NOTIFY );
4084 return 1;
4085 }
4086 break;
4087
4088 case IDC_SS_TEXTPOS:
4089 if(HIWORD(wParam)==CBN_SELCHANGE){
4090 //変更情報
4091 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4092
4093 i3=SendDlgItemMessage(hwnd,IDC_SS_TEXTPOS,CB_GETCURSEL,0,0);
4094 //SS_LEFT=0
4095 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( SS_CENTER|SS_RIGHT );
4096 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_CENTER );
4097 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( SS_RIGHT );
4098 DrawRadWindow(i,pWindowInfo);
4099 return 1;
4100 }
4101 break;
4102
4103 case IDC_EXSTYLE:
4104 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
4105 DrawRadWindow(i,pWindowInfo);
4106 return 1;
4107 }
4108 break;
4109 }
4110 }
4111 return 0;
4112}
4113
4114
4115////////////////////////
4116// TRACKBAR プロパティ
4117INT_PTR CALLBACK RadProperty_TrackBarProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
4118 int i,i2,i3;
4119 static BOOL bInitial;
4120
4121 switch(message){
4122 case WM_INITDIALOG:
4123 {
4124 bInitial=1;
4125 i=GetWndNum(GetParent(GetParent(hwnd)));
4126 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
4127
4128 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
4129
4130
4131 ///////////////////////////
4132 // スタイル
4133 ////////////
4134
4135 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
4136 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
4137 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
4138 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
4139
4140
4141 ////////
4142 // 表示
4143 ////////
4144
4145 //"水平方向"
4146 SendDlgItemMessage(hwnd,IDC_TBS_SITUATION,CB_ADDSTRING,0,(LPARAM)STRING_DIRECTION_HORIZONTAL);
4147 //"垂直方向"
4148 SendDlgItemMessage(hwnd,IDC_TBS_SITUATION,CB_ADDSTRING,0,(LPARAM)STRING_DIRECTION_VERTICAL);
4149
4150 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TBS_VERT) SendDlgItemMessage(hwnd,IDC_TBS_SITUATION,CB_SETCURSEL,1,0);
4151 else SendDlgItemMessage(hwnd,IDC_TBS_SITUATION,CB_SETCURSEL,0,0);
4152
4153
4154 ////////////
4155 // ポイント
4156 ////////////
4157
4158 //"両方"
4159 SendDlgItemMessage(hwnd,IDC_TBS_POINT,CB_ADDSTRING,0,(LPARAM)STRING_TRACKBARPROP_STYLE_POSITION_BOTH);
4160 //"上/左"
4161 SendDlgItemMessage(hwnd,IDC_TBS_POINT,CB_ADDSTRING,0,(LPARAM)STRING_TRACKBARPROP_STYLE_POSITION_TOPORLEFT);
4162 //"下/右"
4163 SendDlgItemMessage(hwnd,IDC_TBS_POINT,CB_ADDSTRING,0,(LPARAM)STRING_TRACKBARPROP_STYLE_POSITION_BOTTOMORRIGHT);
4164
4165 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TBS_BOTH) SendDlgItemMessage(hwnd,IDC_TBS_POINT,CB_SETCURSEL,0,0);
4166 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TBS_TOP) SendDlgItemMessage(hwnd,IDC_TBS_POINT,CB_SETCURSEL,1,0);
4167 else SendDlgItemMessage(hwnd,IDC_TBS_POINT,CB_SETCURSEL,2,0);
4168
4169 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TBS_NOTICKS) SendDlgItemMessage(hwnd,IDC_TBS_NOTICKS,BM_SETCHECK,BST_CHECKED,0);
4170 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TBS_AUTOTICKS) SendDlgItemMessage(hwnd,IDC_TBS_AUTOTICKS,BM_SETCHECK,BST_CHECKED,0);
4171 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TBS_ENABLESELRANGE) SendDlgItemMessage(hwnd,IDC_TBS_ENABLESELRANGE,BM_SETCHECK,BST_CHECKED,0);
4172
4173 ApplyDialogTexture(hwnd);
4174 bInitial=0;
4175 break;
4176 }
4177 case WM_COMMAND:
4178 {
4179 i=GetWndNum(GetParent(GetParent(hwnd)));
4180 if(i==-1) return 1;
4181 i2=GetWndInfoNum(MdiInfo[i]->path);
4182 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
4183
4184 //共通スタイル
4185 if(bInitial==0){
4186 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
4187 }
4188
4189 switch(LOWORD(wParam)){
4190 case IDC_TBS_SITUATION:
4191 if(HIWORD(wParam)==CBN_SELCHANGE){
4192 //変更情報
4193 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4194
4195 i3=SendDlgItemMessage(hwnd,IDC_TBS_SITUATION,CB_GETCURSEL,0,0);
4196 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TBS_VERT );
4197 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TBS_VERT );
4198 DrawRadWindow(i,pWindowInfo);
4199 return 1;
4200 }
4201 break;
4202 case IDC_TBS_POINT:
4203 if(HIWORD(wParam)==CBN_SELCHANGE){
4204 //変更情報
4205 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4206
4207 i3=SendDlgItemMessage(hwnd,IDC_TBS_POINT,CB_GETCURSEL,0,0);
4208 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TBS_BOTH|TBS_TOP );
4209 if(i3==0) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TBS_BOTH );
4210 else if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TBS_TOP );
4211 DrawRadWindow(i,pWindowInfo);
4212 return 1;
4213 }
4214 break;
4215
4216 case IDC_TBS_NOTICKS:
4217 if(HIWORD(wParam)==BN_CLICKED){
4218 //変更情報
4219 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4220
4221 if(SendDlgItemMessage(hwnd,IDC_TBS_NOTICKS,BM_GETCHECK,0,0))
4222 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TBS_NOTICKS );
4223 else
4224 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TBS_NOTICKS );
4225 DrawRadWindow(i,pWindowInfo);
4226 return 1;
4227 }
4228 break;
4229 case IDC_TBS_AUTOTICKS:
4230 if(HIWORD(wParam)==BN_CLICKED){
4231 //変更情報
4232 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4233
4234 if(SendDlgItemMessage(hwnd,IDC_TBS_AUTOTICKS,BM_GETCHECK,0,0))
4235 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TBS_AUTOTICKS );
4236 else
4237 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TBS_AUTOTICKS );
4238 return 1;
4239 }
4240 break;
4241 case IDC_TBS_ENABLESELRANGE:
4242 if(HIWORD(wParam)==BN_CLICKED){
4243 //変更情報
4244 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4245
4246 if(SendDlgItemMessage(hwnd,IDC_TBS_ENABLESELRANGE,BM_GETCHECK,0,0))
4247 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TBS_ENABLESELRANGE );
4248 else
4249 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TBS_ENABLESELRANGE );
4250 DrawRadWindow(i,pWindowInfo);
4251 return 1;
4252 }
4253 break;
4254
4255 case IDC_EXSTYLE:
4256 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
4257 DrawRadWindow(i,pWindowInfo);
4258 return 1;
4259 }
4260 break;
4261 }
4262 }
4263 return 0;
4264}
4265
4266
4267//////////////////////////
4268// TREEVIEW プロパティ
4269INT_PTR CALLBACK RadProperty_TreeViewProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
4270 int i,i2;
4271 static BOOL bInitial;
4272
4273 switch(message){
4274 case WM_INITDIALOG:
4275 {
4276 bInitial=1;
4277 i=GetWndNum(GetParent(GetParent(hwnd)));
4278 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
4279
4280 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
4281
4282
4283 ////////////
4284 //スタイル
4285
4286 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
4287 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
4288 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
4289 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
4290
4291 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TVS_HASBUTTONS) SendDlgItemMessage(hwnd,IDC_TVS_HASBUTTONS,BM_SETCHECK,BST_CHECKED,0);
4292 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TVS_HASLINES) SendDlgItemMessage(hwnd,IDC_TVS_HASLINES,BM_SETCHECK,BST_CHECKED,0);
4293 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TVS_LINESATROOT) SendDlgItemMessage(hwnd,IDC_TVS_LINESATROOT,BM_SETCHECK,BST_CHECKED,0);
4294 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TVS_EDITLABELS) SendDlgItemMessage(hwnd,IDC_TVS_EDITLABELS,BM_SETCHECK,BST_CHECKED,0);
4295 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TVS_DISABLEDRAGDROP) SendDlgItemMessage(hwnd,IDC_TVS_DISABLEDRAGDROP,BM_SETCHECK,BST_CHECKED,0);
4296 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TVS_SHOWSELALWAYS) SendDlgItemMessage(hwnd,IDC_TVS_SHOWSELALWAYS,BM_SETCHECK,BST_CHECKED,0);
4297 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TVS_NOSCROLL) SendDlgItemMessage(hwnd,IDC_TVS_NOSCROLL,BM_SETCHECK,BST_CHECKED,0);
4298 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TVS_NOTOOLTIPS) SendDlgItemMessage(hwnd,IDC_TVS_NOTOOLTIPS,BM_SETCHECK,BST_CHECKED,0);
4299 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TVS_CHECKBOXES) SendDlgItemMessage(hwnd,IDC_TVS_CHECKBOXES,BM_SETCHECK,BST_CHECKED,0);
4300 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TVS_FULLROWSELECT) SendDlgItemMessage(hwnd,IDC_TVS_FULLROWSELECT,BM_SETCHECK,BST_CHECKED,0);
4301 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TVS_TRACKSELECT) SendDlgItemMessage(hwnd,IDC_TVS_TRACKSELECT,BM_SETCHECK,BST_CHECKED,0);
4302 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&TVS_SINGLEEXPAND) SendDlgItemMessage(hwnd,IDC_TVS_SINGLEEXPAND,BM_SETCHECK,BST_CHECKED,0);
4303
4304 ApplyDialogTexture(hwnd);
4305 bInitial=0;
4306 break;
4307 }
4308 case WM_COMMAND:
4309 {
4310 i=GetWndNum(GetParent(GetParent(hwnd)));
4311 if(i==-1) return 1;
4312 i2=GetWndInfoNum(MdiInfo[i]->path);
4313 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
4314
4315 //共通スタイル
4316 if(bInitial==0){
4317 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
4318 }
4319
4320 switch(LOWORD(wParam)){
4321 case IDC_TVS_HASBUTTONS:
4322 if(HIWORD(wParam)==BN_CLICKED){
4323 //変更情報
4324 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4325
4326 if(SendDlgItemMessage(hwnd,IDC_TVS_HASBUTTONS,BM_GETCHECK,0,0))
4327 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TVS_HASBUTTONS );
4328 else
4329 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TVS_HASBUTTONS );
4330 return 1;
4331 }
4332 break;
4333 case IDC_TVS_HASLINES:
4334 if(HIWORD(wParam)==BN_CLICKED){
4335 //変更情報
4336 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4337
4338 if(SendDlgItemMessage(hwnd,IDC_TVS_HASLINES,BM_GETCHECK,0,0))
4339 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TVS_HASLINES );
4340 else
4341 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TVS_HASLINES );
4342 return 1;
4343 }
4344 break;
4345 case IDC_TVS_LINESATROOT:
4346 if(HIWORD(wParam)==BN_CLICKED){
4347 //変更情報
4348 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4349
4350 if(SendDlgItemMessage(hwnd,IDC_TVS_LINESATROOT,BM_GETCHECK,0,0))
4351 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TVS_LINESATROOT );
4352 else
4353 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TVS_LINESATROOT );
4354 return 1;
4355 }
4356 break;
4357 case IDC_TVS_EDITLABELS:
4358 if(HIWORD(wParam)==BN_CLICKED){
4359 //変更情報
4360 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4361
4362 if(SendDlgItemMessage(hwnd,IDC_TVS_EDITLABELS,BM_GETCHECK,0,0))
4363 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TVS_EDITLABELS );
4364 else
4365 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TVS_EDITLABELS );
4366 return 1;
4367 }
4368 break;
4369 case IDC_TVS_DISABLEDRAGDROP:
4370 if(HIWORD(wParam)==BN_CLICKED){
4371 //変更情報
4372 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4373
4374 if(SendDlgItemMessage(hwnd,IDC_TVS_DISABLEDRAGDROP,BM_GETCHECK,0,0))
4375 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TVS_DISABLEDRAGDROP );
4376 else
4377 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TVS_DISABLEDRAGDROP );
4378 return 1;
4379 }
4380 break;
4381 case IDC_TVS_SHOWSELALWAYS:
4382 if(HIWORD(wParam)==BN_CLICKED){
4383 //変更情報
4384 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4385
4386 if(SendDlgItemMessage(hwnd,IDC_TVS_SHOWSELALWAYS,BM_GETCHECK,0,0))
4387 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TVS_SHOWSELALWAYS );
4388 else
4389 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TVS_SHOWSELALWAYS );
4390 return 1;
4391 }
4392 break;
4393 case IDC_TVS_NOSCROLL:
4394 if(HIWORD(wParam)==BN_CLICKED){
4395 //変更情報
4396 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4397
4398 if(SendDlgItemMessage(hwnd,IDC_TVS_NOSCROLL,BM_GETCHECK,0,0))
4399 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TVS_NOSCROLL );
4400 else
4401 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TVS_NOSCROLL );
4402 return 1;
4403 }
4404 break;
4405 case IDC_TVS_NOTOOLTIPS:
4406 if(HIWORD(wParam)==BN_CLICKED){
4407 //変更情報
4408 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4409
4410 if(SendDlgItemMessage(hwnd,IDC_TVS_NOTOOLTIPS,BM_GETCHECK,0,0))
4411 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TVS_NOTOOLTIPS );
4412 else
4413 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TVS_NOTOOLTIPS );
4414 return 1;
4415 }
4416 break;
4417 case IDC_TVS_CHECKBOXES:
4418 if(HIWORD(wParam)==BN_CLICKED){
4419 //変更情報
4420 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4421
4422 if(SendDlgItemMessage(hwnd,IDC_TVS_CHECKBOXES,BM_GETCHECK,0,0))
4423 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TVS_CHECKBOXES );
4424 else
4425 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TVS_CHECKBOXES );
4426 return 1;
4427 }
4428 break;
4429 case IDC_TVS_FULLROWSELECT:
4430 if(HIWORD(wParam)==BN_CLICKED){
4431 //変更情報
4432 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4433
4434 if(SendDlgItemMessage(hwnd,IDC_TVS_FULLROWSELECT,BM_GETCHECK,0,0))
4435 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TVS_FULLROWSELECT );
4436 else
4437 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TVS_FULLROWSELECT );
4438 return 1;
4439 }
4440 break;
4441 case IDC_TVS_TRACKSELECT:
4442 if(HIWORD(wParam)==BN_CLICKED){
4443 //変更情報
4444 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4445
4446 if(SendDlgItemMessage(hwnd,IDC_TVS_TRACKSELECT,BM_GETCHECK,0,0))
4447 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TVS_TRACKSELECT );
4448 else
4449 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TVS_TRACKSELECT );
4450 return 1;
4451 }
4452 break;
4453 case IDC_TVS_SINGLEEXPAND:
4454 if(HIWORD(wParam)==BN_CLICKED){
4455 //変更情報
4456 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4457
4458 if(SendDlgItemMessage(hwnd,IDC_TVS_SINGLEEXPAND,BM_GETCHECK,0,0))
4459 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( TVS_SINGLEEXPAND );
4460 else
4461 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( TVS_SINGLEEXPAND );
4462 return 1;
4463 }
4464 break;
4465
4466 case IDC_EXSTYLE:
4467 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
4468 DrawRadWindow(i,pWindowInfo);
4469 return 1;
4470 }
4471 break;
4472 }
4473 }
4474 return 0;
4475}
4476
4477
4478//////////////////////
4479// UPDOWN プロパティ
4480INT_PTR CALLBACK RadProperty_UpDownProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
4481 int i,i2,i3;
4482 static BOOL bInitial;
4483
4484 switch(message){
4485 case WM_INITDIALOG:
4486 {
4487 bInitial=1;
4488 i=GetWndNum(GetParent(GetParent(hwnd)));
4489 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
4490
4491 SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetName().c_str());
4492 SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetCaption().c_str());
4493
4494
4495 //////////////////
4496 // スタイル
4497 ////////////
4498
4499 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_DISABLED) SendDlgItemMessage(hwnd,IDC_STYLE_DISABLED,BM_SETCHECK,BST_CHECKED,0);
4500 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_VISIBLE) SendDlgItemMessage(hwnd,IDC_STYLE_VISIBLE,BM_SETCHECK,BST_CHECKED,0);
4501 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_GROUP) SendDlgItemMessage(hwnd,IDC_STYLE_GROUP,BM_SETCHECK,BST_CHECKED,0);
4502 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&WS_TABSTOP) SendDlgItemMessage(hwnd,IDC_STYLE_TABSTOP,BM_SETCHECK,BST_CHECKED,0);
4503
4504
4505 ////////
4506 // 方向
4507 ////////
4508
4509 //"水平方向"
4510 SendDlgItemMessage(hwnd,IDC_UDS_SITUATION,CB_ADDSTRING,0,(LPARAM)STRING_DIRECTION_HORIZONTAL);
4511 //"垂直方向"
4512 SendDlgItemMessage(hwnd,IDC_UDS_SITUATION,CB_ADDSTRING,0,(LPARAM)STRING_DIRECTION_VERTICAL);
4513
4514 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&UDS_HORZ) SendDlgItemMessage(hwnd,IDC_UDS_SITUATION,CB_SETCURSEL,0,0);
4515 else SendDlgItemMessage(hwnd,IDC_UDS_SITUATION,CB_SETCURSEL,1,0);
4516
4517 ////////////
4518 // アタッチ
4519 ////////////
4520
4521 //"なし"
4522 SendDlgItemMessage(hwnd,IDC_UDS_ATTACH,CB_ADDSTRING,0,(LPARAM)STRING_NONE_);
4523 //"左端"
4524 SendDlgItemMessage(hwnd,IDC_UDS_ATTACH,CB_ADDSTRING,0,(LPARAM)STRING_LEFT);
4525 //"右端"
4526 SendDlgItemMessage(hwnd,IDC_UDS_ATTACH,CB_ADDSTRING,0,(LPARAM)STRING_RIGHT);
4527
4528 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&UDS_ALIGNLEFT) SendDlgItemMessage(hwnd,IDC_UDS_ATTACH,CB_SETCURSEL,1,0);
4529 else if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&UDS_ALIGNRIGHT) SendDlgItemMessage(hwnd,IDC_UDS_ATTACH,CB_SETCURSEL,2,0);
4530 else SendDlgItemMessage(hwnd,IDC_UDS_ATTACH,CB_SETCURSEL,0,0);
4531
4532 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&UDS_AUTOBUDDY) SendDlgItemMessage(hwnd,IDC_UDS_AUTOBUDDY,BM_SETCHECK,BST_CHECKED,0);
4533 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&UDS_SETBUDDYINT) SendDlgItemMessage(hwnd,IDC_UDS_SETBUDDYINT,BM_SETCHECK,BST_CHECKED,0);
4534 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&UDS_NOTHOUSANDS) SendDlgItemMessage(hwnd,IDC_UDS_NOTHOUSANDS,BM_SETCHECK,BST_CHECKED,0);
4535 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&UDS_WRAP) SendDlgItemMessage(hwnd,IDC_UDS_WRAP,BM_SETCHECK,BST_CHECKED,0);
4536 if(pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle()&UDS_ARROWKEYS) SendDlgItemMessage(hwnd,IDC_UDS_ARROWKEYS,BM_SETCHECK,BST_CHECKED,0);
4537
4538 ApplyDialogTexture(hwnd);
4539 bInitial=0;
4540 break;
4541 }
4542 case WM_COMMAND:
4543 {
4544 i=GetWndNum(GetParent(GetParent(hwnd)));
4545 if(i==-1) return 1;
4546 i2=GetWndInfoNum(MdiInfo[i]->path);
4547 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i]->path);
4548
4549 //共通スタイル
4550 if(bInitial==0){
4551 if(DefaultItemStyles(hwnd,i,i2,wParam)) return 1;
4552 }
4553
4554 switch(LOWORD(wParam)){
4555 case IDC_UDS_SITUATION:
4556 if(HIWORD(wParam)==CBN_SELCHANGE){
4557 //変更情報
4558 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4559
4560 i3=SendDlgItemMessage(hwnd,IDC_UDS_SITUATION,CB_GETCURSEL,0,0);
4561 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( UDS_HORZ );
4562 if(i3==0) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( UDS_HORZ );
4563 DrawRadWindow(i,pWindowInfo);
4564 return 1;
4565 }
4566 break;
4567 case IDC_UDS_ATTACH:
4568 if(HIWORD(wParam)==CBN_SELCHANGE){
4569 //変更情報
4570 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4571
4572 i3=SendDlgItemMessage(hwnd,IDC_UDS_ATTACH,CB_GETCURSEL,0,0);
4573 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( UDS_ALIGNLEFT|UDS_ALIGNRIGHT );
4574 if(i3==1) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( UDS_ALIGNLEFT );
4575 else if(i3==2) pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( UDS_ALIGNRIGHT );
4576 return 1;
4577 }
4578 break;
4579
4580 case IDC_UDS_AUTOBUDDY:
4581 if(HIWORD(wParam)==BN_CLICKED){
4582 //変更情報
4583 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4584
4585 if(SendDlgItemMessage(hwnd,IDC_UDS_AUTOBUDDY,BM_GETCHECK,0,0))
4586 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( UDS_AUTOBUDDY );
4587 else
4588 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( UDS_AUTOBUDDY );
4589 return 1;
4590 }
4591 break;
4592 case IDC_UDS_SETBUDDYINT:
4593 if(HIWORD(wParam)==BN_CLICKED){
4594 //変更情報
4595 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4596
4597 if(SendDlgItemMessage(hwnd,IDC_UDS_SETBUDDYINT,BM_GETCHECK,0,0))
4598 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( UDS_SETBUDDYINT );
4599 else
4600 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( UDS_SETBUDDYINT );
4601 return 1;
4602 }
4603 break;
4604 case IDC_UDS_NOTHOUSANDS:
4605 if(HIWORD(wParam)==BN_CLICKED){
4606 //変更情報
4607 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4608
4609 if(SendDlgItemMessage(hwnd,IDC_UDS_NOTHOUSANDS,BM_GETCHECK,0,0))
4610 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( UDS_NOTHOUSANDS );
4611 else
4612 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( UDS_NOTHOUSANDS );
4613 return 1;
4614 }
4615 break;
4616 case IDC_UDS_WRAP:
4617 if(HIWORD(wParam)==BN_CLICKED){
4618 //変更情報
4619 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4620
4621 if(SendDlgItemMessage(hwnd,IDC_UDS_WRAP,BM_GETCHECK,0,0))
4622 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( UDS_WRAP );
4623 else
4624 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( UDS_WRAP );
4625 return 1;
4626 }
4627 break;
4628 case IDC_UDS_ARROWKEYS:
4629 if(HIWORD(wParam)==BN_CLICKED){
4630 //変更情報
4631 Rad_NoticeChanging(i,RAD_UNDO_STYLE,MdiInfo[i]->MdiRadInfo->SelectingItem[0],pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->GetStyle());
4632
4633 if(SendDlgItemMessage(hwnd,IDC_UDS_ARROWKEYS,BM_GETCHECK,0,0))
4634 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->AddStyle( UDS_ARROWKEYS );
4635 else
4636 pWindowInfo->childWindowInfos[MdiInfo[i]->MdiRadInfo->SelectingItem[0]]->DeleteStyle( UDS_ARROWKEYS );
4637 return 1;
4638 }
4639 break;
4640
4641 case IDC_EXSTYLE:
4642 if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_EXSTYLE),hwnd,DlgRadProperty_Item_ExStyle)) return 1;
4643 DrawRadWindow(i,pWindowInfo);
4644 return 1;
4645 }
4646 }
4647 }
4648 return 0;
4649}
4650
4651
4652LRESULT CALLBACK RadPropertyWindow(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
4653 int i;
4654 RECT rect;
4655 SCROLLINFO ScrollInfo;
4656
4657 switch(message){
4658 case WM_MOUSEACTIVATE:
4659 BringWindowToTop(GetParent(hwnd));
4660 return 0;
4661 case WM_VSCROLL:
4662 ScrollInfo.cbSize=sizeof(SCROLLINFO);
4663 ScrollInfo.fMask=SIF_POS|SIF_PAGE|SIF_RANGE;
4664 GetScrollInfo(hwnd,SB_VERT,&ScrollInfo);
4665 if(LOWORD(wParam)==SB_LINEUP) i=-20;
4666 else if(LOWORD(wParam)==SB_LINEDOWN) i=20;
4667 else if(LOWORD(wParam)==SB_PAGEUP) i=-(signed int)ScrollInfo.nPage;
4668 else if(LOWORD(wParam)==SB_PAGEDOWN) i=ScrollInfo.nPage;
4669 else if(LOWORD(wParam)==SB_THUMBTRACK) i=HIWORD(wParam)-ScrollInfo.nPos;
4670 else i=0;
4671 GetClientRect(hwnd,&rect);
4672 i=max(-ScrollInfo.nPos,min(i,ScrollInfo.nMax-rect.bottom-ScrollInfo.nPos));
4673 if(i!=0){
4674 ScrollInfo.nPos+=i;
4675 SetScrollInfo(hwnd,SB_VERT,&ScrollInfo,1);
4676 ScrollWindow(hwnd,0,-i,NULL,NULL);
4677 UpdateWindow(hwnd);
4678 }
4679 return 0;
4680 case WM_SIZE:
4681 i=GetWndNum(GetParent(hwnd));
4682 if(i==-1) return 0; //ウィンドウが初期状態の場合
4683 ScrollInfo.cbSize=sizeof(SCROLLINFO);
4684 ScrollInfo.fMask=SIF_PAGE|SIF_RANGE|SIF_POS;
4685 GetScrollInfo(hwnd,SB_VERT,&ScrollInfo);
4686 GetClientRect(MdiInfo[i]->MdiRadInfo->hProp_Dlg,&rect);
4687 ScrollInfo.nMin=0;
4688 ScrollInfo.nMax=rect.bottom;
4689 ScrollInfo.nPage=HIWORD(lParam);
4690 SetScrollInfo(hwnd,SB_VERT,&ScrollInfo,1);
4691
4692 i=ScrollInfo.nPos;
4693 ScrollInfo.fMask=SIF_POS;
4694 GetScrollInfo(hwnd,SB_VERT,&ScrollInfo);
4695 if(i>ScrollInfo.nPos){
4696 ScrollWindow(hwnd,0,i-ScrollInfo.nPos,NULL,NULL);
4697 UpdateWindow(hwnd);
4698 }
4699 return 0;
4700 }
4701 return DefWindowProc(hwnd,message,wParam,lParam);
4702}
Note: See TracBrowser for help on using the repository browser.