source: dev/ProjectEditor/Common.h@ 57

Last change on this file since 57 was 57, checked in by dai_9181, 18 years ago

バージョンをβ12に上げた。
Dimに初期値をしたとき、コピーコンストラクタが正常に呼び出せないバグを修正。

File size: 34.1 KB
Line 
1#define STRICT
2#define OEMRESOURCE
3#define _CRT_SECURE_NO_DEPRECATE //セキュリティ警告を出さない
4#define _CRT_NONSTDC_NO_DEPRECATE
5#include <windows.h>
6#include <stdio.h>
7#include <string.h>
8#include <commctrl.h>
9#include "../htmlhelp.h"
10#include <shlobj.h>
11#include <zmouse.h>
12#include <math.h>
13#include <limits.h>
14#include <process.h>
15#include <wininet.h>
16#include "nkf_class.h"
17#include "WebSearch.h"
18#include "ruler.h"
19#include "TabCtrl.h"
20#include "ExtensionLink.h"
21#include "HtmlAnalysis.h"
22#include "FileTree.h"
23#include "menu.h"
24#include "LuxCtrl.h"
25#include "MdiTextEdit.h"
26#include "BREGEXP.H"
27#include "../BasicCompiler32/CommandValue.h"
28#include "../BasicCompiler_Common/BasicFixed.h"
29
30
31typedef struct _charrange {
32 LONG cpMin;
33 LONG cpMax;
34} CHARRANGE;
35
36
37#ifdef THETEXT
38#else
39#include "Attach.h"
40#include "Debugger.h"
41#endif
42
43
44#pragma comment(lib, "wininet.lib")
45
46
47
48#ifdef THETEXT
49
50////////////////////////////
51// TheTextのバージョン情報
52////////////////////////////
53#define APPLICATION_NAME "TheText"
54#define VERSION_APPLI_NAME APPLICATION_NAME
55#define VERSION_STRING "1.02"
56
57#else
58
59/////////////////////////////////////////////////
60// ActiveBasic/ProjectEditorのバージョン情報
61/////////////////////////////////////////////////
62#define APPLICATION_NAME "ActiveBasic 5.0"
63#define VERSION_APPLI_NAME APPLICATION_NAME
64#define VERSION_STRING "5.00.00 β12"
65
66#endif
67
68
69
70#define WIN32_COMPILER_NAME "BasicCompiler32.exe"
71#define WIN64_COMPILER_NAME "BasicCompiler64.exe"
72
73
74#ifndef IMAGE_FILE_MACHINE_AMD64
75#define IMAGE_FILE_MACHINE_AMD64 0x8664 // AMD64 (K8)
76#endif
77
78
79#if defined(JPN)
80
81#ifdef THETEXT
82//TheText日本語
83#include "../res_TheText/resource.h"
84#include "common_msg_jpn.h"
85#else
86//日本語
87#include "../res/resource.h"
88#include "common_msg_jpn.h"
89#endif
90
91#else
92//英語
93#include "../res_e/resource.h"
94#include "common_msg_eng.h"
95#endif
96
97//アイコンリソース
98#include "../icon_res/resource.h"
99
100
101
102
103#define GENERAL_SIZE 8192
104#define VN_SIZE 512
105#define MAX_ARRAYDIM 16
106
107#define MAX_WNDNUM 255
108
109
110#ifdef _AMD64_
111#else
112typedef long LONG_PTR;
113typedef DWORD ULONG_PTR;
114#endif
115
116//ファイルタイプ
117#define FT_BASICPROGRAM 1
118#define FT_SUBPROGRAM 2
119#define FT_TEXT 3
120#define FT_PROJECT 4
121#define FT_ICON 5
122#define FT_HTML 6
123#define FT_OTHER 0
124
125#define BMPNUM_STANDARDTOOLBAR 10 //hDefaultToolbarのビットマップ数
126#define SEPNUM_STANDARDTOOLBAR 4 //hDefaultToolbarのセパレータ数
127#define BMPNUM_DEBUGGERTOOLBAR 8 //hDebuggerToolbarのビットマップ数
128#define SEPNUM_DEBUGGERTOOLBAR 2 //hDebuggerToolbarのセパレータ数
129#define BMPNUM_RADTOOLBAR 18 //コントロール挿入用ツールバーのビットマップ数(区切り用BMPを最後の1つに用意する)
130#define SEPNUM_RADTOOLBAR 3 //コントロール挿入用ツールバーのセパレータ数
131
132//MDIクライアントウィンドウ下のドキュメントウィンドウタイプ
133#define WNDTYPE_BASIC 1
134#define WNDTYPE_TEXT 2
135#define WNDTYPE_RAD 3
136#define WNDTYPE_MENU 4
137#define WNDTYPE_ICONEDIT 5
138#define WNDTYPE_HTML 6
139
140#define IS_DOCUMENT_TEXT(a) (a==WNDTYPE_BASIC||a==WNDTYPE_TEXT||a==WNDTYPE_HTML)
141
142#define IS_RETURN(buffer,p) (buffer[p]=='\r'&&buffer[p+1]=='\n')
143#define IS_BLANK(c) (c==' '||c=='\t')
144
145//Rebarコントロールの個数(レバー追加)
146#define MAX_REBARBANDS 5
147
148//RebarコントロールのID(レバー追加)
149#define ID_DOCCOMBO 1
150#define ID_STANDARDTOOLBAR 2
151#define ID_RELEASETOOLBAR 3
152#define ID_DEBUGGERTOOLBAR 4
153#define ID_SELECTCOMPILERCOMBO 5
154#define ID_WEB_SEARCH 6
155
156//検索コンボボックスの最大リスト数
157#define MAX_FINDLIST 20
158
159#define ID_FIRSTCHILD 100
160
161
162//タブカラー
163#define TABCOLOR_GRAY RGB(230,230,230) //灰色
164#define TABCOLOR_WHITE RGB(255,255,255) //白
165#define TABCOLOR_RED RGB(255,200,200) //赤
166#define TABCOLOR_GREEN RGB(200,255,200) //緑
167#define TABCOLOR_BLUE RGB(200,220,255) //青
168#define TABCOLOR_YELLOW RGB(255,255,180) //黄色
169
170
171//////////////////////////////////////////
172// BasicCompiler、ProjectEditor共通の定数
173//////////////////////////////////////////
174
175//サイズ変更枠の太さ
176#define LEVER_THICK 5
177
178#define WM_SHOWERROR WM_USER+70 //エラー表示メッセージ
179
180#define WM_SETCOMPILEVIEW WM_USER+71 //コンパイラウィンドウが表示されたとき
181#define WM_DESTROYCOMPILEVIEW WM_USER+72 //コンパイラウィンドウが破棄されたとき
182
183#define WM_SETDEBUGGERBASE WM_USER+73 //デバッガベースウィンドウが表示されたとき
184#define WM_DESTROYDEBUGGERBASE WM_USER+74 //デバッガベースウィンドウが破棄されたとき
185
186#define WM_SETDEBUGGERVIEW WM_USER+75 //デバッガウィンドウが表示されたとき
187#define WM_DESTROYDEBUGGERVIEW WM_USER+76 //デバッガウィンドウが表示されたとき
188
189///////////////////////////////////////////
190
191
192#define WM_RESETCARETPOS WM_USER+80 //オートスクロールスレッドからのキャレット設定
193
194#define WM_SEARCH_TAB_CREATE WM_USER+90 //Web検索のタブアイテムの生成メッセージ
195#define WM_SEARCH_TAB_CLOSE WM_USER+91 //Web検索のタブアイテムの破棄メッセージ
196
197//SideWeb
198#define WM_BROWS_CREATE WM_USER+100
199#define WM_BROWS_DESTROY WM_USER+101
200#define WM_BROWS_GO WM_USER+102
201#define WM_BROWS_NAVI WM_USER+103
202
203
204
205#define MAX_HASH 32768
206
207
208//////////////////////////////////
209// メインウィンドウのタイマーID
210
211#define ID_TIMER_BACKUP 10
212#define ID_DEBUGSAFTY 20
213
214// ここまで
215//////////////////////////////////
216
217
218
219extern HANDLE hHeap;
220extern HINSTANCE hInst,hResInst,hIconResInst;
221extern HWND hOwner;
222extern HWND hClient;
223extern int ScreenX,ScreenY;
224extern char pj_editor_Dir[MAX_PATH];
225
226
227//アルファブレンド用のAPI
228#define WS_EX_LAYERED 0x00080000
229#define LWA_ALPHA 0x00000002
230typedef BOOL (WINAPI *FWINLAYER)(HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags );
231
232
233
234//新規プロジェクトのベース
235#define BASE_VOID 0
236#define BASE_PROMPT 1
237#define BASE_NORMAL 2
238
239struct POINTANDSIZE{
240 POINT pos;
241 SIZE size;
242};
243
244
245
246//////////////////////////////////////////
247// リソース ヘッダ(アイコン、カーソル用)
248typedef struct{
249 WORD idReserved;
250 WORD idType;
251 WORD idCount;
252}ICONDIR,CURSORDIR;
253
254////////////////////////////
255//.icoファイルのヘッダ情報
256struct ICONDIRENTRY{
257 BYTE bWidth;
258 BYTE bHeight;
259 BYTE bColorCount;
260 BYTE bReserved;
261 WORD wPlanes;
262 WORD wBitCount;
263 DWORD dwBytesInRes;
264 DWORD dwImageOffset;
265};
266
267
268/////////////////////
269//MDIウィンドウ情報
270
271#define MAX_UNDONUM 300//512未完成
272#define MAX_ICONEDIT_UNDONUM 32
273
274#define TEXTEDIT_UNDO_KEY 1
275#define TEXTEDIT_UNDO_PASTE 2
276#define TEXTEDIT_UNDO_SELKEY 3
277struct TEXTEDIT_UNDOSTATE{
278 int NowPos;
279 int Command[MAX_UNDONUM];
280 char *KeyStr[MAX_UNDONUM];
281 char *DelStr[MAX_UNDONUM];
282 CHARRANGE Range[MAX_UNDONUM];
283 CHARRANGE DelRange[MAX_UNDONUM];
284};
285
286struct RAD_UNDOSTATE_NAME{
287 char *name;
288 char *HandleName;
289 char *CallBackName;
290};
291#define RAD_UNDO_INSERTWND 1
292#define RAD_UNDO_DELETEWND 2
293#define RAD_UNDO_INSERTITEM 3
294#define RAD_UNDO_DELETEITEM 4
295#define RAD_UNDO_NAME 5
296#define RAD_UNDO_CAPTION 6
297#define RAD_UNDO_FONT 7
298#define RAD_UNDO_BGCOLOR 8
299#define RAD_UNDO_WINDOWMENU 9
300#define RAD_UNDO_ICONRES 10
301#define RAD_UNDO_STYLE 11
302#define RAD_UNDO_EXSTYLE 12
303#define RAD_UNDO_POSITION 13
304#define RAD_UNDO_IMAGESTATE 14
305#define RAD_UNDO_TYPE 15
306struct RAD_UNDOSTATE{
307 int NowPos;
308 int Command[MAX_UNDONUM];
309 int SelectItemNum[MAX_UNDONUM];
310 DWORD lpdwData[MAX_UNDONUM];
311};
312
313#define MAX_RAD_SELITEM 255
314struct MDIRADINFO{
315 //Radツール用
316
317 HWND hTools;
318
319 HWND hProperty;
320 HWND hProp_Dlg;
321
322 HWND hSupport;
323
324 HWND hRad;
325
326 HBITMAP hBitmap;
327 HBITMAP hOldBitmap;
328 HDC hMemDC;
329 int SelectingItem[MAX_RAD_SELITEM];
330 int ButtonSelect;
331
332 //ウィンドウクライアント領域
333 POINT ClientPos;
334 SIZE ClientSize;
335
336 //変更情報
337 RAD_UNDOSTATE undo;
338};
339
340struct MDIMENUINFO{
341 HWND hList;
342 HWND hMenuEdit;
343 HWND hEdit_Dlg;
344};
345
346#define ICONTYPE_16_16 0
347#define ICONTYPE_16_256 1
348#define ICONTYPE_32_16 2
349#define ICONTYPE_32_256 3
350struct ICONEDIT_UNDOSTATE{
351 int NowPos;
352 BYTE *lpData[MAX_ICONEDIT_UNDONUM];
353};
354struct MDIICONEDITINFO{
355 HWND hMain;
356 HWND hToolDlg;
357 HWND hButtonsDlg;
358 HWND hColorDlg;
359
360 HDC memdc;
361 HBITMAP hMemBmp;
362
363 HBITMAP hSelectingBmp;
364 int SelectLevel;
365 RECT DraggingRect;
366
367 int num;
368 int SelectIconNum;
369 union{
370 BYTE *pIconImage[8]; //アイコンのイメージデータ配列(マップ配列、カラー配列、マスク配列)
371 BITMAPINFOHEADER *pBmpHdr[8];
372 };
373 DWORD dwBytesInRes[8];
374
375 DWORD NowTool;
376 COLORREF MainColor;
377 COLORREF SubColor;
378
379 ICONEDIT_UNDOSTATE undo[8];
380 BOOL bModify;
381};
382
383struct MDIINFO{
384 HWND hwnd;
385 int DocType;
386 char *title;
387 char *path;
388
389 union{
390 MDIRADINFO *MdiRadInfo;
391 MDIMENUINFO *MdiMenuInfo;
392 MDIICONEDITINFO *MdiIconEditInfo;
393 CMdiTextEdit *pMdiTextEdit;
394 };
395
396 char *IndentStr;
397};
398extern MDIINFO MdiInfo[MAX_WNDNUM];
399
400//RADツールのマウスドラッグ
401#define FRAME_CHANGEPOS_START 1 //----- ここから -----
402#define FRAME_UPPER_LEFT 1
403#define FRAME_UPPER_RIGHT 2
404#define FRAME_LOWER_LEFT 3
405#define FRAME_LOWER_RIGHT 4
406#define FRAME_LEFT 5
407#define FRAME_RIGHT 6
408#define FRAME_UPPER 7
409#define FRAME_LOWER 8
410#define FRAME_INSIDE 9
411#define FRAME_CHANGEPOS_END 9 //----- ここまで -----
412#define ITEM_MAKING 10
413#define SELECTING_FRAME 11
414
415//アイテムの大きさの限界値
416#define MIN_ITEM_X 12
417#define MIN_ITEM_Y 9
418
419//選択アイテム
420#define SELECT_WINDOW -1
421#define NON_TOOL -1
422
423struct RADINFO{
424 int NowDragging;
425 POINT DragStartPos;
426 RECT DragStartRect[MAX_RAD_SELITEM];
427 RECT DraggingRect[MAX_RAD_SELITEM];
428 RECT OldDraggingRect[MAX_RAD_SELITEM];
429};
430
431
432//////////////////
433//リソース情報
434struct RESITEMINFO{
435 char *IdName;
436 char *path;
437
438 HTREEITEM hTreeItem;
439};
440struct RESOURCEINFO{
441 int NumberOfCursorRes;
442 RESITEMINFO *pCursorResInfo;
443 HTREEITEM hCursorTreeItem;
444
445 int NumberOfBitmapRes;
446 RESITEMINFO *pBitmapResInfo;
447 HTREEITEM hBitmapTreeItem;
448
449 int NumberOfIconRes;
450 RESITEMINFO *pIconResInfo;
451 HTREEITEM hIconTreeItem;
452};
453
454
455////////////////////
456//プロジェクト情報
457
458#define PROJECT_VERSION 10
459
460class CFileInfo{
461public:
462 char *m_path;
463 HTREEITEM m_hTreeItem;
464 CFileInfo(char *path,HTREEITEM hTreeItem);
465 ~CFileInfo();
466
467 void GetFullPath(char *buffer);
468};
469class CDBFileInfo{
470public:
471 int iNum;
472 CFileInfo **ppobj_FileInfo;
473
474 CDBFileInfo();
475 ~CDBFileInfo();
476
477 void add(char *path,HTREEITEM hTreeItem);
478 void del(HTREEITEM hTreeItem);
479 char *GetPath(HTREEITEM hTreeItem);
480 BOOL IsMainFile(HTREEITEM hTreeItem);
481
482 void SetTreeItem(int index,HTREEITEM hTreeItem);
483 void ResetTree(void);
484
485 BOOL dupli_check(char *path);
486};
487struct FILEINFO{
488 char *pPath;
489 HTREEITEM hTreeItem;
490};
491
492struct PROCINFO{
493 char *name;
494 int FileNum;
495 HTREEITEM hTreeItem;
496
497 int code_pos;
498};
499struct INCPROCINFO{
500 char *name;
501 char *Parms;
502 char *type;
503};
504
505//ダイアログアイテムの種類
506#define CT_BUTTON 1
507#define CT_CHECKBOX 2
508#define CT_COMBOBOX 3
509#define CT_EDIT 4
510#define CT_GROUPBOX 5
511#define CT_HSCROLLBAR 6
512#define CT_IMAGEBOX 7
513#define CT_LISTBOX 8
514#define CT_LISTVIEW 9
515#define CT_RADIOBUTTON 10
516#define CT_STATIC 11
517#define CT_TREEVIEW 12
518#define CT_VSCROLLBAR 13
519#define CT_UPDOWN 14
520#define CT_PROGRESSBAR 15
521#define CT_TRACKBAR 16
522#define CT_MENU 99
523
524//イベント タイプ
525#define EVENTTYPE_DEFAULT 0
526#define EVENTTYPE_MENU 1
527#define EVENTTYPE_MMSYS 2
528
529//ウィンドウ タイプ
530#define WNDTYPE_DEFAULT 0
531#define WNDTYPE_MODALDLG 1
532#define WNDTYPE_MODELESSDLG 3
533
534//イメージタイプ
535#define IMGTYPE_FILE 0
536#define IMGTYPE_RES 1
537
538struct IMAGECTRLINFO{
539 int type;
540 char *path;
541};
542struct CHILDINFO{
543 char *IdName;
544 POINT pos;
545 SIZE size;
546 char *caption;
547 DWORD style;
548 DWORD ExStyle;
549 int Control;
550
551 IMAGECTRLINFO ImageCtrlInfo;
552};
553struct WINDOW_INFO{
554 //ウィンドウデータ
555 char *name;
556 char *HandleName;
557 POINT pos;
558 SIZE size;
559 char *caption;
560 DWORD style;
561 DWORD ExStyle;
562 char *MenuID;
563 int id;
564 int bgColor;
565 LOGFONT LogFont;
566 char *IconResName;
567 char *ClassName;
568 char *CallBackName;
569 long type;
570 char *filepath;
571
572 //子ウィンドウ管理
573 int NumberOfChildWindows;
574 CHILDINFO *pChildInfo;
575
576 //ツリー項目
577 HTREEITEM hTreeItem;
578};
579struct NEWPROJECTINFO{
580 char name[MAX_PATH];
581 DWORD dwTypeID;
582 _int8 ShowHelloWorld;
583 DWORD dwOption;
584};
585struct MENU_INFO{
586 char *IdName;
587 char *caption;
588 UINT type;
589 UINT state;
590
591 int NumberOfMenu;
592 MENU_INFO *pMenuInfo;
593
594 HTREEITEM hTreeItem;
595};
596#define MT_EXE 0 //EXEモジュールタイプ
597#define MT_DLL 1 //DLLモジュールタイプ
598#define PJ_OP_SOURCE_MASK 0x00FFFFFF
599#define PJ_OP_MMSYSTEM 0x00000001
600#define PJ_OP_COMMCTRL 0x00000002
601#define PJ_OP_RICHEDIT 0x00000004
602#define PJ_OP_WINSOCK 0x00000008
603#define PJ_OP_STRICT 0x00010000
604#define PJ_OP_RC_MANIFEST 0x00020000
605#define PJ_OP_UNICODE 0x00040000
606struct PROJECTINFO{
607 DWORD dwModuleType;
608
609 char name[MAX_PATH];
610 char dir[MAX_PATH];
611
612 DWORD dwVersion;
613
614 CDBFileInfo *pobj_DBFileInfo;
615
616 char ResourceFileName[MAX_PATH];
617
618 int NumberOfMenu;
619 MENU_INFO *pMenuInfo;
620 HTREEITEM hMenuTreeItem;
621
622 int NumberOfWindows;
623 WINDOW_INFO *pWindowInfo;
624 HTREEITEM hWindowTreeItem;
625
626 RESOURCEINFO res;
627
628 DWORD dwOption;
629 char lpszOutput_Release[MAX_PATH];
630 char lpszOutput_Debug[MAX_PATH];
631
632 //マニフェスト
633 char szManifestPath[MAX_PATH];
634
635 //デバッグ情報
636 char szCmdLine[8192];
637 char szExePath[MAX_PATH];
638
639 //ブレークポイント情報
640 CDBBreakPoint *pobj_DBBreakPoint;
641
642 _int8 ModifyOfMaterial;
643 _int8 ModifuOfResource;
644 _int8 modify;
645};
646extern PROJECTINFO ProjectInfo;
647
648
649struct SAVEREBAR{
650 int RebarID;
651 int RebarLength;
652 int IsBandBreak;
653};
654
655struct ITEMEVENTINFO{
656 char *IdName;
657 char **pEventNames;
658 int ClassID;
659 int EventNum;
660};
661
662#define PARAMETER_HINT_MAX_SIZE 8192
663struct METHODCHECKINFO{
664 HWND hWnd;
665 LOGFONT LogFont;
666 HFONT hFont;
667 HFONT hBoldFont;
668 char BeforeMethodName[VN_SIZE];
669 char msg[PARAMETER_HINT_MAX_SIZE];
670 int ParmNum;
671 int HeadPos;
672};
673
674
675/////////////////////
676// コード補完機能
677/////////////////////
678
679#define ACCESS_NON 0
680#define ACCESS_PRIVATE 1
681#define ACCESS_PUBLIC 2
682#define ACCESS_PROTECTED 3
683#define ACCESS_PAIRCOMMAND 4
684#define ACCESS_HTML_GENERAL_PARAM 5
685#define ACCESS_HTML_PARAM 6
686struct MEMBERINFO{
687 //クラス名
688 char *pName;
689 DWORD dwProc;
690 DWORD dwAccess;
691
692 int code_pos;
693};
694struct COMPLEMENT_WINDOW_INFO{
695 HWND hWnd;
696 HWND hList;
697
698 int iPos;
699 int iLength;
700
701 MEMBERINFO *pMemberInfo;
702 int MemberNum;
703
704 //ペアステートメントのインデント格納用
705 char szIndent[255];
706};
707
708
709
710class CSettingFile{
711 BOOL GetDataLine(char *name,char *parms);
712protected:
713 char *buffer;
714
715 BOOL GetWholeValue(char *name,int *pi32data);
716 BOOL Get3WholeValue(char *name,int *pd1,int *pd2,int *pd3);
717 BOOL GetRGBValue(char *name,COLORREF *prgb);
718 BOOL GetStringValue(char *name,char *str);
719 BOOL GetRectValue(char *name,RECT *prc);
720 BOOL GetLogFont(char *name,LOGFONT *plf);
721 BOOL GetRebarBand(SAVEREBAR *psr,int num);
722
723 void SetWholeValue(char *name,long i32data);
724 void Set3WholeValue(char *name,long d1,long d2,long d3);
725 void SetRGBValue(char *name,COLORREF rgb);
726 void SetStringValue(char *name,char *str);
727 void SetRectValue(char *name,RECT *prc);
728 void SetLogFont(char *name,LOGFONT *plf);
729 void SetRebarBand(SAVEREBAR *psr,int num);
730};
731#include "DesignTheme.h"
732
733
734
735//ProjectEditor.cpp
736void HeapDefaultFree(LPVOID lpMem);
737void ToBigChar(char str[]);
738int GetWndNum(HWND hChild);
739int GetNowWndNum(void);
740int GetFileNum(int WndNum);
741void SendTextEditResizeEvent(HWND hwnd);
742void RedrawAllWindow(void);
743int DocumentModifyCheck(HWND hChild);
744void SetStatusText(char *MenuText);
745void ResetState_UndoMenu(void);
746void ResetState_EditMenu(void);
747void ResetState_DocMenu(void);
748void DuplicateTitleCheck(char *lpszTitle);
749HWND NewTextEditWindow(char *filepath,_int8 DocumentType,COLORREF TabColor=TABCOLOR_GRAY);
750void CloseDocWindow(int WndNum);
751void ResizeTextEditWnd(HWND hwnd,int cx,int cy);
752void ResizeOwnerWnd(void);
753#define FLAG_DBLCLK 1
754#define FLAG_BEAMCURSOR 2
755int RegWndClass(WNDPROC WndProc,char *lpClassName,HBRUSH hBackBrush,DWORD dwFlag);
756
757//Backup.cpp
758void CreateBackupDir(void);
759void backup(void *dummy);
760BOOL restore(void);
761
762//DialogBoxes.cpp
763void SetPosCenter(HWND hParent,HWND hwnd);
764void SetPosCenter(HWND hwnd);
765BOOL SetFontDialog(HWND hwnd,LOGFONT *lf,BOOL bFixedPitchOnly,int *lpiPointSize=0);
766void DlgNewProjectWizard(HWND hwnd);
767BOOL CALLBACK DlgNewFile(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
768void DlgProjectOptionSetting(HWND hwnd);
769void DlgOptionSetting(HWND hwnd);
770BOOL CALLBACK DialogAbout(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
771
772//FileOperation.cpp
773void MakeUserSettingDir(void);
774char *ReadBuffer(char *path);
775char *ReadBuffer_NonErrMsg(char *path);
776_int8 WriteBuffer(char *path,char *buffer,int length);
777_int8 WriteBuffer_NonErrMsg(char *path,char *buffer,int length);
778void GetRelationalPath(char *path,char *dir);
779void GetFullPath(char *path,char *dir);
780void RemoveDirectoryStrong(const char *dir_path);
781BOOL GetFilePathDialog(HWND hwnd,char *filename,LPSTR Filter,LPSTR Title,_int8 IsOpen);
782BOOL GetFolder(HWND hWnd,char *folder,char *OpenFolderTitle);
783int GetFileExtension(char *path);
784HWND OpenFileWithExtension(char *OpenFileName);
785BOOL SaveDocument(HWND hChild,char *SaveFileName);
786BOOL ShortPathToLongPath(char ShortPath[MAX_PATH],char *LongPath);
787bool IsExistFile( const char *FilePath );
788bool IsExistDirectory( const char *DirPath );
789
790//rebar.cpp
791#define MAX_BAND 255
792typedef HWND (*AddBandProc)(HWND hRebar,int num,char *lpszText);
793class CDBRebarBand{
794 int BandId[MAX_BAND];
795 AddBandProc pAddProc[MAX_BAND];
796 int iMaxBandNum;
797public:
798 HWND hRebar;
799 CDBRebarBand();
800 ~CDBRebarBand();
801 void add(int band_id,AddBandProc add_proc);
802 HWND call_add(int band_id,int num,char *lpszText);
803};
804class CMainRebar{
805 CDBRebarBand *pobj_DBRebarBand;
806
807 void SetupRebar(HWND hwnd);
808public:
809 HWND hParent;
810 HWND hRebar;
811
812 CMainRebar(HWND hwnd_parent);
813 ~CMainRebar();
814
815 void ResetInitRebar();
816 void ResetRebar();
817 void SaveRebarState(void);
818 void ChangeRebarBand(int BandID);
819 void menu_popup(HWND hwnd,int PosX,int PosY);
820};
821extern CMainRebar *pobj_Rebar;
822void ResetRebarData(void);
823LRESULT CALLBACK DefaultToolbarProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
824LRESULT CALLBACK DocComboProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
825LRESULT CALLBACK DebuggerToolbarProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
826
827//SubOperation.cpp
828void ScreenToClient(HWND hwnd,RECT *pRect);
829void ClientToScreen(HWND hwnd,RECT *pRect);
830BOOL IsWow64(void);
831void URLEncode(LPSTR pszSrc);
832void Digit(int num,char *buffer);
833void RectNaturalFormat(RECT *ReadRect,RECT *CopyRect);
834void RectNaturalFormat(int *x1,int *y1,int *x2,int *y2);
835void KillSpaces(char *str1,char *str2);
836void RemoveStringQuotes(char *str);
837void SlideString(char *str,int slide);
838void SlideBuffer(char *buffer,int length,int slide);
839BOOL IsVariableTopChar(char c);
840BOOL IsVariableChar(char c);
841BOOL IsCommandBackDelimitation(char *buffer,int pos);
842BOOL IsCommandDelimitation(char *buffer,int p);
843char *ComparisonString(char *str1,char *str2,BOOL bBigSmall);
844int GetOneParameter(char *Parameter,int pos,char *retAns);
845int GetStringInPare(char *buffer,char *ReadBuffer);
846int GetStringInBracket(char *buffer,char *ReadBuffer);
847void JumpBlank(char *pBuf,int *piPos);
848BOOL CheckParenthesis(char *buffer);
849DWORD GetValue(char *value);
850BOOL IsManagementCommand(int ComNum);
851int IsBasicReservedWord(char *str);
852HBITMAP CreateGradationBitmap(SIZE *pSize,COLORREF color1,COLORREF color2);
853HBITMAP CreateVertGradationBitmap(SIZE *pSize,COLORREF color1,COLORREF color2);
854HBITMAP CreateHorzGradationBitmap(SIZE *pSize,COLORREF color1,COLORREF color2);
855HICON CreateGrayIcon(HICON hBaseIcon);
856void GetSize(SIZE *pSize,RECT *pRect);
857BOOL HitTest(RECT *pRect,POINT *pPos);
858BOOL Rectangle(HDC hdc,RECT *pRect);
859void ComboBox_SetSelText(HWND hCombo,char *lpszText);
860void SetCursorByState(int state);
861void SetTextEditColorDesign(TEXTEDIT_COLOR_INFO *pColorInfo,CTheme *pobj_Theme,BOOL bRedraw);
862BOOL SetupProjectEditor(void);
863void EndProjectEditor(void);
864void SetupWindow(HWND hwnd);
865BOOL SetRunning(HWND hChild);
866BOOL IsNeedCompile(char *FileName,BOOL bDebug);
867
868//DocumentAdvice.cpp
869void MenuAdvice(WPARAM msg);
870void ShowToolTipText(LPTOOLTIPTEXT TipText);
871char *IncludeFiles(char *buffer);
872void AddParameterHints_ToProject(char *path);
873
874
875
876/////////////////////
877// テキスト エディタ
878/////////////////////
879
880#define CONTROL_TAB_SPACE_DEFAULT 10 //エディタ画面左端のコントロールタブ(通常)
881
882//DrawBuffer.cpp
883void TextEdit_DrawBuffer(HDC hdc,int WndNum);
884
885//TextEditor.cpp
886int GetControlTabSpace(int WndNum,int *piCount=0);
887void ResetTextEditFont(HWND hwnd);
888void SetTextEditWordColor(int WndNum);
889BOOL IsHiragana(char *pBuf);
890BOOL IsAlphabet(char c);
891BOOL IsReturnCode(char *pBuf);
892void ResetScrollbar(int WndNum,int max_x,int max_y);
893#define WORDCARET_BEFORE 1
894#define WORDCARET_AFTER 2
895void TextEdit_GetWordCaret(HWND hwnd,int WndNum,POINT *pPos,int *piStart,int *piEnd,BOOL bBeforeAfterFlag);
896void CancelBeforeAutoIndent(int WndNum);
897LRESULT CALLBACK TextEditProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
898
899//Caret.cpp
900BOOL IsRightTurn(char *pBuf,int i,int now_x);
901int GetBufferIndexFromCaretPos(char *pBuf,int now_x,int now_y);
902void GetCaretPosFromBufferIndex(char *pBuf,int index,POINT *pCaretPos);
903void TextEdit_GetSel(int WndNum,CHARRANGE *pCharRange);
904void TextEdit_GetSelText(int WndNum,CHARRANGE *pCharRange,char *buffer);
905void GetScrollBaseCaretPos(int WndNum,int *pNaturalBaseX,int *pNaturalBaseY);
906void GetNaturalBaseCaretPos(int WndNum,int *pScrollBaseX,int *pScrollBaseY);
907void TextEdit_SetSel(int WndNum,int StartIndex,int EndIndex,BOOL bShowCenter=0);
908void TextEdit_SelectOneLine(int WndNum,int code_pos,BOOL bShowCenter=0);
909void ResetCaretPos(int WndNum,BOOL bInputAndReset=0);
910BOOL TextEdit_ScrollCaret(int WndNum,BOOL bScrollOneStep_x,BOOL bShowCenter=0);
911void CaretPos_LooseToNatural(int WndNum,int loose_x,int loose_y,POINT *pCaretPos);
912void GetNaturalCaretPos_Click(int WndNum,int mouse_x,int mouse_y,POINT *pCaretPos);
913void GetNaturalCaretPos_Left(int WndNum);
914void GetNaturalCaretPos_Right(int WndNum,POINT *pCaretPos);
915void GetNaturalCaretPos_Up(int WndNum,POINT *pCaretPos);
916void GetNaturalCaretPos_Down(int WndNum,POINT *pCaretPos);
917void GetNaturalCaretPos_PageUp(int WndNum,POINT *pCaretPos);
918void GetNaturalCaretPos_PageDown(int WndNum,POINT *pCaretPos);
919
920//Replace.cpp
921void TextEdit_Replace(int WndNum,char *str,BOOL bRedraw);
922void TextEdit_ReplaceUpdateUndoData(int WndNum,char *str,BOOL bPaste,BOOL bRedraw);
923void TextEdit_Convert(int id);
924
925//TextEditor_UndoRedo.cpp
926void TextEdit_UndoCommand(int WndNum);
927void TextEdit_RedoCommand(int WndNum);
928void TextEdit_NoticeChanging(int WndNum,int Command,char *KeyStr,char *DelStr,CHARRANGE *Range,CHARRANGE *DelRange);
929void TextEdit_DeleteUndoData(TEXTEDIT_UNDOSTATE *pUndoState,int pos);
930
931//Search.cpp
932void AddFindData(HWND hwnd,char ppData[MAX_FINDLIST][MAX_PATH],char *str);
933BOOL CALLBACK DlgFind(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
934BOOL CALLBACK DlgPermutation(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
935
936//analysis.cpp
937BOOL GetVarFormatString(char *buffer,char *array,char *array2,char *NestMember,int *pRefType);
938BOOL CheckReferType(char *ClassName,BOOL bArray,char *VarArray,int VarRefType);
939void GetOriginalClassName(char *ClassName);
940int GetClassPos(char *pBuf,char *ClassName,DWORD *pdwClassType);
941BOOL GetClassNameFromClassMember(char *pBuf,int iPos,char *VarName,char *ClassName,BOOL *pbArray);
942void GetCodeAreaType(char *pBuf,int iPos,int *piProcPos,char *NowClass);
943BOOL GetVariableClassName(char *pEditBuf,int iPos,char *VarName,char *ClassName,BOOL *pbArray);
944
945//EndPairCommandComplement.cpp
946BOOL GetEndPairCommandInfo(char *buffer,int p);
947BOOL IsNeedNewIndentCommand(char *name);
948void GetWithObjectVariable(char *buffer,int p,char *pObjectVar);
949
950//Complement.cpp
951void DeleteComplementInfo(void);
952BOOL GetComplementInfo(char *variable,char *pEditBuf,int iPos);
953void CodeComplement(int WndNum,int iPos);
954LRESULT CALLBACK ComplementWindow(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
955
956//ParameterHint.cpp
957char *GetUserSourceCode(void);
958void ChangeReturnCode(char *buffer);
959void DeleteComment(char *buffer);
960LRESULT CALLBACK MethodCheckWindow(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
961void ShowParameterHint(int WndNum);
962
963//CodeFormatter.cpp
964char *CodeFormatter(char *lpszReadBuffer);
965
966#ifdef THETEXT
967//StringCount.cpp
968BOOL CALLBACK DlgStringCount(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
969#endif
970
971//Print.cpp
972class CPage{
973public:
974 PAGESETUPDLG psd;
975 CPage();
976 ~CPage();
977
978 BOOL SetupDlg(void);
979};
980extern CPage obj_Page;
981LRESULT CALLBACK PreviewWndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
982void Preview(void);
983void Printout(void);
984
985//History.cpp
986#define IS_FILEHISTORY_COMMAND(a) (100<=a&&a<=199)
987class CHistory{
988 int iNum;
989 int iMaxHistoryNum;
990
991 int m_BaseID;
992public:
993 char *lpszPath[255];
994
995 CHistory(int BaseID);
996 ~CHistory();
997
998 void load(char *path);
999 void save(char *path);
1000
1001 void add(char *path);
1002 void insert(char *path);
1003
1004 void ResetFileMenu(CSubMenuEx *pobj_SubMenu,BOOL bOwnerDraw);
1005};
1006
1007
1008
1009
1010//////////////////////
1011/* プロジェクト解析 */
1012
1013//CClassInfo.cpp
1014class CClassInfo{
1015public:
1016 char ClassName[VN_SIZE];
1017 MEMBERINFO *pMemberInfo;
1018 int MemberNum;
1019 CClassInfo();
1020 ~CClassInfo();
1021 int Analyze(char *pBuf,int *p);
1022};
1023
1024//ClassTree.cpp
1025struct TREEHASH{
1026 HTREEITEM hItem;
1027 int iFileNum;
1028 TREEHASH *pNextData;
1029};
1030#define CTV_ROOT 1 //ルート
1031#define CTV_FOLDER 2 //フォルダ
1032#define CTV_GLOBAL_PROC 3 //プロシージャ
1033#define CTV_CLASS 4 //クラス
1034#define CTV_PUBLIC_MEMBER 5 //公開cメンバ変数
1035#define CTV_PUBLIC_METHOD 6 //公開メソッド
1036#define CTV_PRIVATE_MEMBER 7 //非公開メンバ変数
1037#define CTV_PRIVATE_METHOD 8 //非公開メソッド
1038class CClassTreeView{
1039 HWND hTreeWnd;
1040 int iNowFile;
1041 TREEHASH tree_data[MAX_HASH];
1042
1043 HTREEITEM hGlobalProcedureFolder;
1044 HTREEITEM hNowClassFolder;
1045
1046 int hash_default(LONG_PTR lpdata);
1047
1048 void AddValidItem(HTREEITEM hItem,int iFileNum);
1049 BOOL delete_check(HTREEITEM hItem);
1050 void DeleteInvalidItems(HTREEITEM hItem);
1051 void DeleteTreeHash(TREEHASH *pth);
1052
1053 HTREEITEM insert(HTREEITEM hParentItem,int flag,char *lpszName,int iFileNum);
1054
1055public:
1056 HTREEITEM hRootFolder;
1057
1058 int NumberOfProcedures;
1059 PROCINFO *pProcInfo;
1060
1061 BOOL bCloseSwitch;
1062 BOOL bShowSwitch;
1063
1064 CClassTreeView();
1065 ~CClassTreeView();
1066 void init(HWND hwnd,int iFileNum);
1067
1068 void InsertRootFolder(void);
1069 void InsertGlobalProcedureFolder(void);
1070 HTREEITEM InsertGlobalProcedure(int flag,char *lpszName,int iFileNum);
1071 HTREEITEM insert_code_item(HTREEITEM hParentItem,int flag,char *lpszName,int iFileNum,char *pBuf,int p);
1072 void InsertClassFolder(char *lpszName,int iFileNum,char *pBuf,int p);
1073 void InsertClassMember(int flag,char *lpszName,int iFileNum,char *pBuf,int p);
1074 void finish();
1075};
1076extern CClassTreeView *pobj_ClassTreeView;
1077void ResetClassTree(int iFileNum);
1078
1079//ProjectControl.cpp
1080void ResizeProjectView_ToolWindow(void);
1081LRESULT CALLBACK ProjectView_ToolWindowProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1082LRESULT CALLBACK ProjectViewProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1083void Project_File_Insert(char *path);
1084void Project_File_Delete(HTREEITEM hTreeItem);
1085void MakeNewProject(void);
1086void OpenProject(char *path);
1087BOOL ProjectModifyCheck(BOOL bRun);
1088_int8 CloseProject(void);
1089void MakeWorkFile(void);
1090void SaveProject(void);
1091BOOL SetProjectToRun(void);
1092BOOL IsNeedCompileForProject(BOOL bDebug);
1093
1094//WindowControl.cpp
1095int GetWndInfoNum(char *name);
1096HGLOBAL Rad_GetChildInfoClipboardData(int WndNum,int WndInfoNum);
1097void Rad_PasteChildInfoClipboardData(int WndNum,HGLOBAL hGlobal);
1098char *PermutationWndPgmTemplate(char *pBuf,char *pPjName, char *pWndName, char *pHandleName, char *pProcName);
1099void GetItemClassName(char *buffer,int Control);
1100void SaveWindowProgram();
1101void SaveWindowFile(char *path,WINDOW_INFO *WindowInfo,int NumberOfWindowInfo);
1102_int8 OpenWindowFile(char *path);
1103void GetDefaultWindowFont(LOGFONT *LogFont);
1104void Project_Window_Insert(void);
1105void Project_Window_Delete(int WndInfoNum);
1106
1107//Resource.cpp
1108void GetResourceData(void);
1109void Project_CursorResInsert(void);
1110void Project_Cursor_Delete(int CursorInfoNum);
1111void Project_Cursor_RenameID(int CursorInfoNum);
1112void Project_BitmapResInsert(void);
1113void Project_Bitmap_Delete(int IconInfoNum);
1114void Project_Bitmap_RenameID(int BitmapInfoNum);
1115void Project_IconResInsert(void);
1116void Project_Icon_Delete(int IconInfoNum);
1117void Project_Icon_RenameID(int IconInfoNum);
1118BOOL CALLBACK DlgProject_ResourceID_Input(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1119
1120
1121
1122///////////////////
1123/* RADウィンドウ */
1124
1125//RadProc.cpp
1126void NewRadWindow(int WndInfoNum);
1127int InsertDlgItem(int WndNum,int WndInfoNum,int ItemNum,POINT *pPos,SIZE *pSize,char *IdName,char *caption,DWORD style_or_WndNum,DWORD ExStyle,int Control,int ImageType,char *ImagePath,DWORD dwInsertType);
1128void DeleteDlgItem(int WndNum,int WndInfoNum,int ItemNum,BOOL bNoticeChanging);
1129void CursorPos_GlobalToLocal(HWND hwnd,long *x,long *y);
1130void DrawSelectingRect(HWND hwnd,int WndNum,int WndInfoNum,int ButtonSelect);
1131void ChangePropertyWindow(int WndNum,int WndInfoNum);
1132void ResetScrollbarOfRadEditor(int WndNum,int weight,int height);
1133LRESULT CALLBACK RadWindow(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1134void ResizeToRadToolWindows(int WndNum,int weight,int height);
1135LRESULT CALLBACK MDIClientWindow_Rad(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1136
1137//DrawWindow.cpp
1138void DrawRadWindow(int WndNum,WINDOW_INFO *pWindowInfo);
1139
1140//Rad_UndoRedo.cpp
1141void Rad_UndoCommand(int WndNum);
1142void Rad_RedoCommand(int WndNum);
1143void Rad_DeleteUndoData(int WndNum,int pos);
1144void Rad_NoticeChanging(int WndNum,int Command,int SelectItemNum,DWORD dwData);
1145
1146//RadToolsAndPropertyProc.cpp
1147LRESULT CALLBACK RadToolsWindow(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1148BOOL CALLBACK RadProperty_WindowProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1149BOOL CALLBACK DlgRadProperty_Item_RenameCaption(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1150BOOL CALLBACK RadProperty_ButtonProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1151BOOL CALLBACK RadProperty_CheckBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1152BOOL CALLBACK RadProperty_ComboBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1153BOOL CALLBACK RadProperty_EditProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1154BOOL CALLBACK RadProperty_GroupBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1155BOOL CALLBACK RadProperty_ImageBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1156BOOL CALLBACK RadProperty_ListBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1157BOOL CALLBACK RadProperty_ListViewProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1158BOOL CALLBACK RadProperty_ProgressBarProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1159BOOL CALLBACK RadProperty_RadioButtonProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1160BOOL CALLBACK RadProperty_ScrollBarProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1161BOOL CALLBACK RadProperty_StaticProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1162BOOL CALLBACK RadProperty_TrackBarProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1163BOOL CALLBACK RadProperty_TreeViewProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1164BOOL CALLBACK RadProperty_UpDownProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1165LRESULT CALLBACK RadPropertyWindow(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1166
1167//MessageCallOperation.cpp
1168char **GetProcedureNamesOfMessageCall(int WndInfoNum,ITEMEVENTINFO **ppItemEventInfo,int *num,BOOL *pbAlways);
1169void SelectProcedureOfMessageCall(int WndInfoNum,char *ProcedureName,char *Parameter);
1170BOOL CALLBACK DlgEventCode(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1171
1172//RadSupport.cpp
1173LRESULT CALLBACK TestWindowProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1174void SetSupportDlgData(int WndNum,int WndInfoNum);
1175BOOL CALLBACK DlgRadSupport(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1176
1177
1178
1179////////////////////
1180/* MENUウィンドウ */
1181
1182//MenuProc.cpp
1183int GetMenuInfoNum(char *name);
1184void HeapMenuDataFree(MENU_INFO *pMenuInfo,int ItemNum,int *NumberOfFreedItem);
1185BOOL CALLBACK DlgProject_MenuID_Input(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1186void Project_Menu_Insert(void);
1187void Project_Menu_Delete(int MenuInfoNum);
1188void NewMenuWindow(MENU_INFO *pMenuInfo);
1189BOOL CALLBACK MenuEditDlg(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1190LRESULT CALLBACK MenuEditWindow(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1191LRESULT CALLBACK MDIClientWindow_Menu(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1192
1193
1194
1195//////////////////////////////////
1196/* アイコン エディタ ウィンドウ */
1197
1198//IconEditor.cpp
1199void AddIconType(int WndNum,int IconType);
1200void DeleteIconType(int WndNum);
1201void NewIconEditWindow(char *filepath);
1202void SaveIconFile(char *filepath,HWND hwnd);
1203LRESULT CALLBACK MDIClientWindow_IconEdit(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1204
1205//IconEditor_Main.cpp
1206HGLOBAL IconEdit_GetChildInfoClipboardData(int WndNum);
1207void IconEdit_PasteChildInfoClipboardData(int WndNum,HBITMAP hBmp);
1208void IconEdit_PasteImage(int WndNum);
1209void DrawIconToMemBmp(int WndNum,RECT *pRect);
1210void IconEdit_EraseRect(int WndNum,RECT *pRect);
1211LRESULT CALLBACK IconEditWindowProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1212
1213//IconEditor_Tool.cpp
1214BOOL CALLBACK DlgIconButtons(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1215BOOL CALLBACK DlgIconToolProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1216
1217//IconEditor_Color.cpp
1218BOOL CALLBACK DlgIconColorProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
1219
1220//IconEditor_UndoRedo.cpp
1221void IconEdit_UndoCommand(int WndNum);
1222void IconEdit_RedoCommand(int WndNum);
1223void IconEdit_NoticeChanging(int WndNum);
1224
1225
1226
1227
1228
1229#include "NonVolatile.h"
1230
1231
1232
1233
1234#ifdef _DEBUG
1235/*Debug*/
1236
1237#define HeapAlloc CheckHeapAlloc
1238#define HeapReAlloc CheckHeapReAlloc
1239LPVOID CheckHeapAlloc(HANDLE hHeap,DWORD dwFlags,DWORD dwBytes);
1240LPVOID CheckHeapReAlloc(HANDLE hHeap,DWORD dwFlags,LPVOID lpMem,DWORD dwBytes);
1241
1242#define DeleteObject CheckDeleteObject
1243BOOL CheckDeleteObject(HGDIOBJ hObject);
1244
1245#endif
Note: See TracBrowser for help on using the repository browser.