| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | 
							- #include <precomp.h>
 
- #include "svc_accroleserver.h"
 
- #include <api/script/objects/guiobject.h>
 
- #include <api/wnd/api_window.h>
 
- #define CBCLASS svc_accRoleServerI
 
- START_DISPATCH;
 
-   CB(RS_HANDLEROLE,      handleRole);
 
-   CB(RS_CREATEOBJECT,    createObject);
 
-   VCB(RS_DESTROYOBJECT,  destroyObject);
 
- END_DISPATCH;
 
- #undef CBCLASS
 
- #define CBCLASS roleServerObjectI
 
- START_DISPATCH;
 
-   CB(RSO_WNDPROC,        wndProc);
 
-   CB(RSO_GETHWND,        gethWnd);
 
-   CB(RSO_FLATTENCONTENT, flattenContent);
 
- END_DISPATCH;
 
- #undef CBCLASS
 
- roleServerObjectI::roleServerObjectI(HWND par, api_window *w) {
 
-   wnd = w;
 
-   hwnd = NULL;
 
-   parent = par;
 
-   triedyet = 0;
 
- }
 
- roleServerObjectI::~roleServerObjectI() {
 
-   if (hwnd != NULL)
 
-     DestroyWindow(hwnd);
 
- }
 
- api_window *roleServerObjectI::getWnd() {
 
-   return wnd;
 
- }
 
- HWND roleServerObjectI::gethWnd() {
 
-   if (!triedyet) {
 
-     triedyet = 1;
 
-     hwnd = createWindow(parent);
 
-     if (hwnd !=NULL)
 
-       oldproc = (WNDPROC)GetWindowLong(hwnd, GWL_WNDPROC);
 
-     else
 
-       oldproc = NULL;
 
-   }
 
-   return hwnd;
 
- }
 
- ScriptObject *roleServerObjectI::getScriptObject() {
 
-   if (wnd == NULL) return NULL;
 
-   GuiObject *go = wnd->getGuiObject();
 
-   if (go == NULL) return NULL;
 
-   return go->guiobject_getScriptObject();
 
- }
 
- WNDPROC roleServerObjectI::getOldProc() {
 
-   return oldproc;
 
- }
 
- int roleServerObjectI::wndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
 
-   return CallWindowProc(oldproc, hWnd, uMsg, wParam, lParam);
 
- }
 
- int roleServerObjectI::flattenContent(HWND *w) {
 
-   return FLATTENFLAG_ASKPARENT;
 
- }
 
 
  |