Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.7 KiB

  1. #include "precomp.h"
  2. #pragma hdrstop
  3. /***************************************************************************/
  4. /****************** Basic Class Dialog Handlers ****************************/
  5. /***************************************************************************/
  6. /*
  7. ** Purpose:
  8. ** Billboard Dialog procedure.
  9. ** Initialization:
  10. ** Post STF_SHL_INTERP to carry on with INF script
  11. ** Termination:
  12. ** None
  13. **
  14. *****************************************************************************/
  15. INT_PTR APIENTRY FGstBillboardDlgProc(HWND hdlg, UINT wMsg, WPARAM wParam,
  16. LPARAM lParam)
  17. {
  18. SZ sz;
  19. RGSZ rgsz;
  20. PSZ psz;
  21. Unused(lParam);
  22. Unused(wParam);
  23. switch (wMsg) {
  24. case STF_REINITDIALOG:
  25. case WM_INITDIALOG:
  26. AssertDataSeg();
  27. if( wMsg == WM_INITDIALOG ) {
  28. FCenterDialogOnDesktop(hdlg);
  29. }
  30. //
  31. // Handle all the text fields in the dialog
  32. //
  33. if ((sz = SzFindSymbolValueInSymTab("TextFields")) != (SZ)NULL) {
  34. WORD idcStatus;
  35. while ((psz = rgsz = RgszFromSzListValue(sz)) == (RGSZ)NULL) {
  36. if (!FHandleOOM(hdlg)) {
  37. DestroyWindow(GetParent(hdlg));
  38. return(fTrue);
  39. }
  40. }
  41. idcStatus = IDC_TEXT1;
  42. while (*psz != (SZ)NULL && GetDlgItem(hdlg, idcStatus)) {
  43. SetDlgItemText (hdlg, idcStatus++,*psz++);
  44. }
  45. EvalAssert(FFreeRgsz(rgsz));
  46. }
  47. return(fTrue);
  48. case STF_DESTROY_DLG:
  49. PostMessage(GetParent(hdlg), (WORD)STF_INFO_DLG_DESTROYED, 0, 0L);
  50. DestroyWindow(hdlg);
  51. return(fTrue);
  52. }
  53. return(fFalse);
  54. }