|
|
1.1 root 1:
2: /******************************************************************************\
3: * This is a part of the Microsoft Source Code Samples.
4: * Copyright (C) 1993 Microsoft Corporation.
5: * All rights reserved.
6: * This source code is only intended as a supplement to
7: * Microsoft Development Tools and/or WinHelp documentation.
8: * See these sources for detailed information regarding the
9: * Microsoft samples programs.
10: \******************************************************************************/
11:
12: /****************************** Module Header *******************************
13: * Module Name: dlgfuncs.h
14: *
15: * Contains prototypes for the functions used in the dialog box editor.
16: *
17: ****************************************************************************/
18:
19: /*
20: * addctrl.c
21: */
22:
23: VOID AddNewDialog(VOID);
24: VOID DropControl(PWINDOWCLASSDESC pwcd, PRECT prc);
25: NPCTYPE AddControl(PWINDOWCLASSDESC pwcd, LPTSTR pszText, DWORD style,
26: DWORD flExtStyle, INT id, INT x, INT y, INT cx, INT cy, LPTSTR pszDlgName,
27: PDIALOGINFO pdi);
28: HWND CreateControl(NPCTYPE npc, LPTSTR pszText, DWORD flStyle, DWORD flExtStyle,
29: INT id, PRECT prc, HWND hwndBehind, PDIALOGINFO pdi);
30: VOID DeleteControl(VOID);
31: VOID DeleteDialog(BOOL fResAlso);
32:
33:
34: /*
35: * ctrlproc.c
36: */
37:
38: WINDOWPROC DialogCtrlWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
39: WINDOWPROC CtrlWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
40: WINDOWPROC ChildWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
41: BOOL DrawOwnerDrawButton(LPDRAWITEMSTRUCT lpdis);
42:
43:
44: /*
45: * custcntl.c
46: */
47:
48: DIALOGPROC NewCustDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
49: VOID OpenCustomDialog(VOID);
50: PWINDOWCLASSDESC SelCustDialog(VOID);
51: DIALOGPROC SelCustDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
52: DIALOGPROC RemCustDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
53: WINDOWPROC CustomWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
54: PCUSTLINK AddCustomLink(LPCCINFO pcci, BOOL fEmulated, BOOL fUnicodeDLL,
55: LPTSTR pszFileName, HANDLE hmod);
56: VOID RemoveCustomLink(PCUSTLINK pcl);
57: BOOL CallCustomStyle(NPCTYPE npc, PDWORD pflStyleNew, PDWORD pflExtStyleNew,
58: LPTSTR pszTextNew);
59: INT CallCustomSizeToText(NPCTYPE npc);
60: VOID ReadCustomProfile(VOID);
61: VOID WriteCustomProfile(VOID);
62:
63:
64: /*
65: * dialogs.c
66: */
67:
68: INT DlgBox(INT idDlg, WNDPROC lpfnDlg);
69: VOID EnteringDialog(INT idDlg, PINT pidPrevDlg, BOOL fEntering);
70: VOID CreateTestDialog(VOID);
71: VOID DestroyTestDialog(VOID);
72: VOID SelectDialogDialog(VOID);
73: VOID ArrangeSettingsDialog(VOID);
74: DIALOGPROC AboutDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
75:
76:
77: /*
78: * dlgedit.c
79: */
80:
81: WINDOWPROC MainWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
82: BOOL ReadWindowPos(LPTSTR pszKeyName, PINT px, PINT py, PINT pcx, PINT pcy,
83: BOOL *pfMaximized);
84: VOID WriteWindowPos(PRECT prc, BOOL fMaximized, LPTSTR pszKeyName);
85:
86:
87: /*
88: * drag.c
89: */
90:
91: VOID ShowTrackRect(VOID);
92: VOID HideTrackRect(VOID);
93: VOID FitRectToBounds(PRECT prc, INT nOverHang, INT HandleHit, BOOL fDialog);
94: INT GetOverHang(INT iType, INT cy);
95: VOID GridizeRect(PRECT prc, INT fGridFlags);
96: VOID SizeDragToControl(NPCTYPE npc);
97: WINDOWPROC DragWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
98: VOID DrawHandles(HWND hwnd, HDC hDC, BOOL fCurrentSelection);
99: INT HandleHitTest(HWND hwnd, INT x, INT y);
100: VOID CtrlButtonDown(HWND hwnd, INT x, INT y, BOOL fHandleWindow);
101: VOID DragNewBegin(INT cx, INT cy, INT nOverHang);
102: VOID CtrlMouseMove(HWND hwnd, BOOL fDragWindow, INT x, INT y);
103: VOID PreDragTimeout(HWND hwnd, BOOL fTimedOut);
104: VOID DragCancel(VOID);
105: VOID CtrlButtonUp(INT x, INT y);
106: VOID DragEnd(INT x, INT y);
107:
108:
109: /*
110: * file.c
111: */
112:
113: BOOL Open(INT FileType);
114: VOID BuildFilterString(INT FileType, LPTSTR pszFilter);
115: INT DoWeSave(INT rgbFlags);
116: BOOL Save(INT rgbFlags);
117: VOID OpenCmdLineFile(LPTSTR pszFileName);
118: LPTSTR FileInPath(LPTSTR pszPath);
119: VOID ShowFileStatus(BOOL fForce);
120: BOOL DifferentDirs(LPTSTR pszPath1, LPTSTR pszPath2);
121: BOOL HasPath(LPTSTR pszFileSpec);
122: BOOL WriteDWordPad(HANDLE hf, DWORD cbFile);
123:
124:
125: /*
126: * groupdlg.c
127: */
128:
129: VOID OrderGroupDialog(VOID);
130: DIALOGPROC OrderDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
131:
132: /*
133: * include.c
134: */
135:
136: NPLABEL AddLabel(LPTSTR pszLabel, INT id, DWORD fpos,
137: INT nValueOffset, NPLABEL *pplHead, NPLABEL *pplDelHead,
138: NPLABEL npLabelSkip, BOOL *pfDups);
139: NPLABEL FindLabel(LPTSTR pszLabel, NPLABEL plHead);
140: NPLABEL FindID(INT id, NPLABEL plHead);
141: BOOL FindIDInRes(INT id);
142: VOID DeleteLabel(LPTSTR pszLabel, NPLABEL *pplHead, NPLABEL *pplDelHead);
143: BOOL IsSymbol(LPTSTR pszSym);
144: VOID IDToLabel(LPTSTR pchLabel, INT id, BOOL fHexOK);
145: BOOL LabelToID(LPTSTR pszLabel, PINT pID);
146: VOID FreeLabels(NPLABEL *nppLabels);
147:
148:
149: /*
150: * menu.c
151: */
152:
153: VOID DialogMenu(INT cmd);
154: VOID LoadMenuBitmaps(HMENU hMenu);
155: VOID FreeMenuBitmaps(VOID);
156: VOID InitMenu(HMENU hMenu);
157: BOOL APIENTRY MsgFilterHookFunc(INT nCode, WPARAM wParam, LPMSG lpMsg);
158: VOID ShowHelp(BOOL fMenuHelp);
159:
160:
161: /*
162: * reslist.c
163: */
164:
165: BOOL FindDialog(LPTSTR pszDlgName);
166: PRESLINK AllocResLink(PRES pRes);
167: VOID RestoreDialog(VOID);
168: VOID FreeRes(VOID);
169: VOID FreeResList(VOID);
170: VOID FreeResLink(PRESLINK prl);
171: VOID DeleteDialogResource(VOID);
172:
173:
174: /*
175: * restodlg.c
176: */
177:
178: BOOL SynchDialogResource(VOID);
179: PRES AllocDialogResource(BOOL fTestMode, BOOL fClipboard);
180: VOID ResLinkToDialog(PRESLINK prl);
181: BOOL ResToDialog(PRES pRes, BOOL fDoDialog);
182: INT GetiClass(LPTSTR pszClass);
183: VOID Duplicate(VOID);
184: VOID MakeCopyFromRes(PRES pRes);
185:
186:
187: /*
188: * resutil.c
189: */
190:
191: PCONTROLDATA ParseDialogBoxHeader(PDIALOGBOXHEADER pdbh, PDWORD pflStyle,
192: PDWORD pflExtStyle, PINT pcdit, PINT px, PINT py, PINT pcx, PINT pcy,
193: LPTSTR *ppszMenuName, LPTSTR *ppszClass, LPTSTR *ppszCaption,
194: PINT pPointSize, LPTSTR *ppszFontName);
195: PCONTROLDATA ParseControlData(PCONTROLDATA pcd, PDWORD pflStyle,
196: PDWORD pflExtStyle, PINT px, PINT py, PINT pcx, PINT pcy, PINT pid,
197: LPTSTR *ppszClass, LPTSTR *ppszText);
198: VOID DWordAlign(PBYTE *ppb);
199: VOID DWordPad(PBYTE *ppb);
200: LPTSTR ResourceType(PRES pRes);
201: LPTSTR ResourceName(PRES pRes);
202: PRES2 ResourcePart2(PRES pRes);
203: DWORD ResourceSize(PRES pRes);
204: PBYTE SkipResHeader(PRES pRes);
205: PBYTE SkipSz(LPTSTR pNameOrd);
206: PCONTROLDATA SkipDialogBoxHeader(PDIALOGBOXHEADER pdbh);
207: PCONTROLDATA SkipControlData(PCONTROLDATA pcd);
208: PBYTE NameOrdCpy(LPTSTR pNameOrdDest, LPTSTR pNameOrdSrc);
209: INT NameOrdCmp(LPTSTR pNameOrd1, LPTSTR pNameOrd2);
210: INT NameOrdLen(LPTSTR pNameOrd);
211: LPTSTR NameOrdDup(LPTSTR pNameOrd);
212: VOID StrToNameOrd(LPTSTR pszNameOrd, BOOL fDecOnly);
213: PBYTE WriteOrd(PORDINAL pOrd, INT nOrdinalID);
214: PBYTE WriteResHeader(PRES pRes, DWORD DataSize, INT iResType, LPTSTR pszResName,
215: WORD fResFlags, WORD LanguageId, DWORD DataVersion, DWORD Version,
216: DWORD Characteristics);
217: PBYTE WriteSz(LPTSTR pszDest, LPTSTR pszSrc);
218:
219:
220: /*
221: * rwdlg.c
222: */
223:
224: BOOL WriteDlg(HANDLE hfWrite, LPTSTR pszFullDlgFile);
225:
226:
227: /*
228: * rwinc.c
229: */
230:
231: BOOL OpenIncludeFile(LPTSTR pszOpenInclude);
232: VOID FreeInclude(VOID);
233: BOOL WriteInc(HANDLE hfWrite);
234:
235:
236: /*
237: * rwres.c
238: */
239:
240: BOOL OpenResFile(LPTSTR pszFullPath);
241: BOOL WriteRes(HANDLE hfWrite, LPTSTR pszFullResFile);
242:
243:
244: /*
245: * select.c
246: */
247:
248: BOOL SelectControl(NPCTYPE npc, BOOL fCheckShift);
249: VOID SelectControl2(NPCTYPE npc, BOOL fDontUpdate);
250: VOID RedrawSelection(VOID);
251: VOID SetAnchorToFirstSel(BOOL fDontUpdate);
252: VOID SelectNext(VOID);
253: VOID SelectPrevious(VOID);
254: VOID UnSelectControl(NPCTYPE npc);
255: VOID CalcSelectedRect(VOID);
256: VOID CancelSelection(BOOL fUpdate);
257: VOID OutlineSelectBegin(INT x, INT y);
258: VOID OutlineSelectDraw(INT x, INT y);
259: VOID OutlineSelectCancel(VOID);
260: VOID OutlineSelectEnd(INT x, INT y);
261: VOID MyFrameRect(HDC hDC, PRECT prc, DWORD dwRop);
262: VOID MoveControl(WPARAM vKey);
263: VOID PositionControl(PRECT prc);
264: VOID RepositionDialog(VOID);
265: VOID SaveDlgClientRect(HWND hwndDlg);
266: VOID SizeToText(VOID);
267: VOID AlignControls(INT cmd);
268: VOID ArrangeSpacing(INT cmd);
269: VOID ArrangeSize(INT cmd);
270: VOID ArrangePushButtons(INT cmd);
271:
272:
273: /*
274: * status.c
275: */
276:
277: DIALOGPROC StatusDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
278: BOOL StatusApplyChanges(VOID);
279: VOID StatusFillSymbolList(NPLABEL plHead);
280: VOID StatusSetCoords(PRECT prc);
281: VOID StatusUpdate(VOID);
282: VOID StatusSetEnable(VOID);
283:
284:
285: /*
286: * styles.c
287: */
288:
289: VOID StylesDialog(VOID);
290: DIALOGPROC GenericStylesDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
291: LPARAM lParam);
292: DIALOGPROC CheckBoxStylesDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
293: LPARAM lParam);
294: DIALOGPROC RadioButtonStylesDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
295: LPARAM lParam);
296: DIALOGPROC PushButtonStylesDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
297: LPARAM lParam);
298: DIALOGPROC ComboBoxStylesDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
299: LPARAM lParam);
300: DIALOGPROC EditStylesDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
301: LPARAM lParam);
302: DIALOGPROC ListBoxStylesDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
303: LPARAM lParam);
304: DIALOGPROC CustomStylesDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
305: LPARAM lParam);
306: DIALOGPROC DialogStylesDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
307: LPARAM lParam);
308: BOOL APIENTRY FontNameEnumFunc(LPLOGFONT lpLogFont,
309: LPTEXTMETRIC lpTextMetric, INT nFontType, LPVOID lpData);
310: BOOL APIENTRY PointSizeEnumFunc(LPLOGFONT lpLogFont,
311: LPTEXTMETRIC lpTextMetric, INT nFontType, LPVOID lpData);
312:
313:
314: /*
315: * toolbox.c
316: */
317:
318: VOID ToolboxShow(BOOL fShow);
319: VOID ToolboxOnTop(VOID);
320: WINDOWPROC ToolboxWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
321: WINDOWPROC ToolBtnWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
322: VOID ToolboxSelectTool(INT type, BOOL fLock);
323:
324:
325: /*
326: * util.c
327: */
328:
329: VOID *MyAlloc(INT cbAlloc);
330: VOID *MyRealloc(VOID *npMem, INT cbNewAlloc);
331: VOID *MyFree(VOID *npMem);
332: BOOL IsValue(LPTSTR pszValue);
333: BOOL HasBlanks(LPTSTR psz);
334: INT valtoi(LPTSTR pszValue);
335: INT axtoi(LPTSTR pch);
336: VOID Myitoa(INT n, LPTSTR psz);
337: VOID itoax(INT n, LPTSTR pszBuff);
338: BOOL IsUniqueID(INT id);
339: INT NextID(INT idType, NPLABEL plHead, INT idExclude);
340: INT Message(INT idMsg, ...);
341: VOID ClientToScreenRect(HWND hwnd, PRECT prc);
342: VOID ScreenToClientRect(HWND hwnd, PRECT prc);
343: VOID DUToWinPoint(PPOINT ppt);
344: VOID WinToDUPoint(PPOINT ppt);
345: VOID DUToWinRect(PRECT prc);
346: VOID WinToDURect(PRECT prc);
347: VOID MapDlgClientPoint(PPOINT ppt, BOOL fFromClient);
348: VOID MapWindowPoint(HWND hwndFrom, HWND hwndTo, PPOINT ppt);
349: VOID MyMapWindowRect(HWND hwndFrom, HWND hwndTo, PRECT prc);
350: VOID GetChildRect(HWND hwndChild, PRECT prc);
351: VOID CenterWindow(HWND hwnd);
352: VOID FitRectToScreen(PRECT prc);
353: LPTSTR ids(UINT idString);
354: INT PixelsToPointSize(INT nPixels);
355: INT PointSizeToPixels(INT nPointSize);
356:
357:
358:
359: /*
360: * viewinc.c
361: */
362:
363: VOID ViewInclude(VOID);
364: DIALOGPROC ViewIncludeDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.