medit.c
上传用户:xiaoan1112
上传日期:2013-04-11
资源大小:19621k
文件大小:2k
源码类别:

操作系统开发

开发平台:

Visual C++

  1. /*
  2. COW : Character Oriented Windows
  3. (COW USER EDIT)
  4. medit.c : multiline edit manager (C portion)
  5. */
  6. #define COW
  7. #include <cow.h>
  8. #ifdef EDIT_FULLMGR /* entire file */
  9. #include <uedit.h>
  10. #include <umedit.h> /* public structures */
  11. #include <uevent.h>
  12. #include <uwindow.h>
  13. #include <uisa.h>
  14. #include "edit.h" /* includes "medit.h" */
  15. #include "util.h"
  16. #include "strings.h"
  17. #include "dialog.h"
  18. PUBLIC DWORD FARPUBLIC
  19. EditWndProc(pwnd, message, wParam, lParam)
  20. /*
  21.   -- for edit windows
  22. */
  23. PWND pwnd;
  24. WORD message;
  25. WORD wParam;
  26. DWORD lParam;
  27. {
  28. StartPublic();
  29. DWORD lRet = InternalEditWndProc(pwnd, message, wParam, lParam);
  30. ReturnPublic(lRet, DWORD);
  31. }
  32. PUBLIC VOID FARPUBLIC
  33. SetEditText(pwnd, sz, fDrawWindow)
  34. PWND pwnd;
  35. char * sz;
  36. BOOL fDrawWindow;
  37. {
  38. StartPublic();
  39. SendMessage(pwnd, WM_SETTEXT, fDrawWindow, (DWORD) ((char far *) sz));
  40. StopPublic();
  41. }
  42. PUBLIC WORD FARPUBLIC
  43. GetEditText(pwnd, sz, cchMac)
  44. PWND pwnd;
  45. char * sz;
  46. WORD cchMac;
  47. {
  48. WORD cchRet;
  49. StartPublic();
  50. cchRet = (WORD) SendMessage(pwnd, WM_GETTEXT, cchMac,
  51.     (DWORD) ((char far *) sz));
  52. ReturnPublic(cchRet, WORD);
  53. }
  54. PUBLIC VOID FARPUBLIC
  55. InitEditWnd(pwnd, pb, cchMac)
  56. REGISTER PWND pwnd;
  57. BYTE * pb;
  58. REGISTER WORD cchMac;
  59. {
  60. EF * pef;
  61. StartPublic();
  62. pef = (EF *)(pwnd->rgwExtra[cwExtraMin] = (WORD) pb);
  63. pb += sizeof(EF);
  64. pef->pldCur = (LD *) pb;
  65. pb += sizeof(LD);
  66. cchMac -= sizeof(EF) + sizeof(LD);
  67. pef->ipCur.ob = 0;
  68. pef->ipCur.oln = 0;
  69. pef->ipAnchor.ob = 0;
  70. pef->ipAnchor.oln = 0;
  71. pef->Style = 0;
  72. pef->fSelection = FALSE;
  73. pef->attrCur = isaEdit;
  74. pef->hBuffer = hBufferUndefined;
  75. pef->pwndScrollV = NULL;
  76. pef->pwndScrollH = NULL;
  77. pef->pldCur->prgch = pb;
  78. pef->pldCur->cbMax = cchMac;
  79. pef->pldCur->cb = 0;
  80. SetEditText(pwnd, szEmptyString, FALSE);
  81. StopPublic();
  82. }
  83. #endif /*EDIT_FULLMGR*/