亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? applicat.h

?? windows mobile phone source code
?? H
字號:
/*
 * applicat.h
 *
 * GUI application class.
 *
 * Portable Windows Library
 *
 * Copyright (c) 1993-1998 Equivalence Pty. Ltd.
 *
 * The contents of this file are subject to the Mozilla Public License
 * Version 1.0 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 * the License for the specific language governing rights and limitations
 * under the License.
 *
 * The Original Code is Portable Windows Library.
 *
 * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
 *
 * Portions are Copyright (C) 1993 Free Software Foundation, Inc.
 * All Rights Reserved.
 *
 * Contributor(s): ______________________________________.
 *
 * $Log: applicat.h,v $
 * Revision 1.34  2001/05/22 12:49:33  robertj
 * Did some seriously wierd rewrite of platform headers to eliminate the
 *   stupid GNU compiler warning about braces not matching.
 *
 * Revision 1.33  2000/03/17 20:32:21  robertj
 * Fixed race conditions in mult-threaded windows (dialogs in particular)
 *
 * Revision 1.32  2000/03/04 07:47:49  robertj
 * Fixed problem with window not appearing when assert on GUI based win32 apps.
 *
 * Revision 1.31  1999/08/07 07:13:22  robertj
 * Fixed problems with "balloon help" text popup.
 *
 * Revision 1.30  1999/02/16 08:08:47  robertj
 * MSVC 6.0 compatibility changes.
 *
 * Revision 1.29  1998/12/02 03:51:41  robertj
 * Unix compatibility changes
 *
 * Revision 1.28  1998/11/30 02:59:48  robertj
 * New directory structure
 *
 * Revision 1.27  1998/09/24 03:39:28  robertj
 * Added open software license.
 *
 * Revision 1.26  1998/04/07 13:32:17  robertj
 * Changed startup code to support PApplication class.
 *
 * Revision 1.25  1998/03/29 06:20:07  robertj
 * Rearranged initialisation sequence so PProcess descendent constructors can do "things".
 *
 * Revision 1.24  1997/07/08 12:59:14  robertj
 * DLL support
 *
 * Revision 1.23  1997/04/27 05:50:28  robertj
 * DLL support.
 *
 * Revision 1.22  1996/08/17 10:00:39  robertj
 * Changes for Windows DLL support.
 *
 * Revision 1.21  1996/08/08 10:09:25  robertj
 * Directory structure changes for common files.
 *
 * Revision 1.20  1996/06/28 13:24:00  robertj
 * If WIN32 then platform has threads, removed resundent ifdef.
 *
 * Revision 1.19  1996/01/02 12:58:55  robertj
 * Mac OS compatibility changes.
 *
 * Revision 1.18  1995/12/10 11:53:10  robertj
 * Changes to main() startup mechanism to support Mac.
 *
 * Revision 1.17  1995/11/09 12:24:24  robertj
 * Moved window style bits to member variable.
 *
 * Revision 1.16  1995/08/24 12:40:23  robertj
 * Added Construct() function required by X platform.
 * Added standard colours for balloon help windows.
 *
 * Revision 1.15  1995/07/31 12:17:53  robertj
 * Split off pop up window from balloon.
 *
 * Revision 1.14  1995/04/25 11:34:09  robertj
 * Changes for DLL support.
 *
 * Revision 1.13  1995/04/03 11:27:45  robertj
 * Fixed balloon help window so doesn't flash main window.
 *
 * Revision 1.12  1995/04/02 09:27:37  robertj
 * Added "balloon" help.
 *
 * Revision 1.11  1995/03/12 05:00:11  robertj
 * Re-organisation of DOS/WIN16 and WIN32 platforms to maximise common code.
 * Used built-in equate for WIN32 API (_WIN32).
 *
 * Revision 1.10  1995/02/05  00:53:53  robertj
 * Removed incorrect inline include.
 *
 * Revision 1.9  1995/01/22  07:29:43  robertj
 * Added font & colour standard dialogs.
 *
 * Revision 1.8  1995/01/09  12:27:11  robertj
 * Moved EXPORTED definition to object.h
 *
 * Revision 1.7  1994/08/21  23:43:02  robertj
 * Made last tick an int for efficiency.
 *
 * Revision 1.6  1994/07/27  05:58:07  robertj
 * Synchronisation.
 *
 * Revision 1.5  1994/07/21  12:33:49  robertj
 * Moved cooperative threads to common.
 *
 * Revision 1.4  1994/07/02  03:03:49  robertj
 * Changes to timer processing.
 *
 * Revision 1.3  1994/06/25  11:55:15  robertj
 * Unix version synchronisation.
 *
 * Revision 1.2  1994/04/20  12:17:44  robertj
 * assert changes
 *
 * Revision 1.1  1994/04/12  08:21:52  robertj
 * Initial revision
 *
 */


#ifndef _PAPPLICATION

class PInteractorLayout;

#if defined(_MSC_VER) && !defined(_WIN32)
extern "C" int __argc;
extern "C" char ** __argv;
#endif

#ifdef __BORLANDC__
#define __argc _argc
#define __argv _argv
#endif

#undef PCREATE_PROCESS
#define PCREATE_PROCESS(cls) \
  extern "C" int PASCAL WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int) \
    { PProcess::PreInitialise(__argc, __argv, _environ); \
      static cls instance; \
      return instance._main(hInst); \
    }


///////////////////////////////////////////////////////////////////////////////
// PApplication

#define _PAPPLICATION_PLATFORM_INCLUDE
#include "../../applicat.h"

#endif
#ifdef _PAPPLICATION_PLATFORM_INCLUDE
#undef _PAPPLICATION_PLATFORM_INCLUDE

  public:
    virtual BOOL IsGUIProcess() const;

#ifndef P_PLATFORM_HAS_THREADS

    // Overrides for class PThread
    virtual void OperatingSystemYield();
      // This is here so that other MS-Windows tasks get scheduled if the
      // PApplication thread is blocked internal to PWLib.

#endif


    // New functions for class
    HINSTANCE GetInstance() const;
      // Return the MS-Windows instance handle.

    // Support for looking up C++ objects from HWNDs
    void AddWindowHandle(HWND hWnd, PInteractor * pWnd);
    void RemoveWindowHandle(HWND hWnd);
    PInteractor * GetWindowObject(HWND hWnd) const;

    // Support for non-modal dialogs
    void AddDialog(PInteractorLayout * pWnd);
    void RemoveDialog(PInteractorLayout * pWnd);


  private:
    enum WndProcTypes {
      WndProcType,
      DlgProcType,
      FileDlgProcType,
      PrintDlgProcType,
      FontDlgProcType,
      ColourDlgProcType,
      NumWndProcTypes
    };
    WNDPROC GetWndProcPtr(WndProcTypes proc) const;
      // Return the MS-Windows callback functions.

    LRESULT WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
      // Called by the static function but is now bound to the application
      // object data.

    BOOL DlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
      // Called by the static function but is now bound to the application
      // object data.

    BOOL FileDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
      // Called by the static function but is now bound to the application
      // object data.

    BOOL PrintDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
      // Called by the static function but is now bound to the application
      // object data.

    BOOL FontDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
      // Called by the static function but is now bound to the application
      // object data.

    BOOL ColourDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
      // Called by the static function but is now bound to the application
      // object data.

    BOOL ProcessMessage();
      // Process a MS-Windows message.


    // Member Variables
    HINSTANCE hInstance;
      // The MS-Windows instance handle for the running image.

    WNDPROC wndProcPtr[NumWndProcTypes];
      // Pointers to the MS-Windows callback functions that bind MS-Windows
      // messages to the C++ class objects.

    class HWNDKey : public PObject
    {
      PCLASSINFO(HWNDKey, PObject)
      // This class is used in the hash table lookup for getting a PInteractor
      // pointer given a MS-Windows window handle.
      public:
        HWNDKey(HWND newKey)
          { theKey = newKey; }
        inline PObject * Clone() const
          { return new HWNDKey(theKey); }
        inline Comparison Compare(const PObject & obj) const
          { return theKey != ((const HWNDKey &)obj).theKey
                                                     ? GreaterThan : EqualTo; }
        inline PINDEX HashFunction() const
          { return ((UINT)theKey/8)%23; }

      private:
        HWND theKey;
    };
    PDICTIONARY(WindowDict, HWNDKey, PInteractor);
    WindowDict createdWindows;

    PMutex windowsMutex;
      // Mutual exclusion on threads accessing windows structures

    PLIST(NonModalDict, PInteractorLayout);
    NonModalDict nonModalDialogs;

    PInteractorList delayedCreateInteractors;
      // List of interactors that require creation at end of main loop.

    PSyncPoint delayedCreateInteractorsDone;
      // Signal for having processed delayedCreateInteractors

    BOOL receivedQuitMessage;
      // Flag that the last message WM_QUIT has been received

    HACCEL hAccelerator;
      // Current menus accelerator, needed by the ProcessMessage() loop.

    HWND mdiClient;
      // MDI client window, needed by the ProcessMessage() loop.

#ifndef P_PLATFORM_HAS_THREADS
    HWND timerWnd;
      // Internal window to receive WM_TIMER messages to assure this process
      // is scheduled for background threads and timers.

    UINT lastSetTimerTick;
      // Last GetTickCount() value for SetTimer() call to prevent the call
      // being made on every received message.
#endif


    friend LRESULT PEXPORTED WndProc(HWND, UINT, WPARAM, LPARAM);
    friend BOOL PEXPORTED DlgProc(HWND, UINT, WPARAM, LPARAM);
    friend BOOL PEXPORTED FileDlgProc(HWND, UINT, WPARAM, LPARAM);
    friend BOOL PEXPORTED PrintDlgProc(HWND, UINT, WPARAM, LPARAM);
    friend BOOL PEXPORTED FontDlgProc(HWND, UINT, WPARAM, LPARAM);
    friend BOOL PEXPORTED ColourDlgProc(HWND, UINT, WPARAM, LPARAM);
    friend HWND PInteractor::GetHWND() const;
    friend void PInteractor::GetCreateWinInfo(WNDCLASS &);
    friend void PControl::SubClassControlWndProc();
    friend void PInteractorLayout::CreateHWND();
    friend void PTitledWindow::WndProc();
    friend int PModalDialog::RunModal();
    friend PFileDialog::PFileDialog(PInteractor *, PRESOURCE_ID);
    friend void PPrintDialog::Construct();
    friend void PFontDialog::Construct(PRESOURCE_ID);
    friend void PColourDialog::Construct(PRESOURCE_ID);
    friend PMDIFrameWindow::PMDIFrameWindow(unsigned CanDo);

#endif


// End Of File ///////////////////////////////////////////////////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日产欧产精品推荐色| 99久久夜色精品国产网站| 九九视频精品免费| 国产一区二区在线视频| 成人性生交大片免费看在线播放| 91在线播放网址| 欧美精品久久久久久久久老牛影院| 日韩欧美在线网站| 欧美韩国一区二区| 一区二区三区在线观看欧美 | 不卡av电影在线播放| 一本高清dvd不卡在线观看| 欧美日韩国产免费一区二区 | 久久国产精品区| 成人黄色一级视频| 欧洲精品一区二区三区在线观看| 日韩欧美第一区| 亚洲少妇最新在线视频| 石原莉奈在线亚洲二区| 国产成人av一区二区三区在线 | 亚洲丰满少妇videoshd| 国产呦萝稀缺另类资源| 一本大道av伊人久久综合| 日韩一区二区高清| 中文字幕中文字幕中文字幕亚洲无线| 丝袜诱惑亚洲看片| 福利电影一区二区| 欧美男女性生活在线直播观看| 久久精品一区蜜桃臀影院| 亚洲香蕉伊在人在线观| 国产91露脸合集magnet| 欧美高清dvd| 亚洲欧洲www| 精品一区二区三区在线视频| 欧美综合在线视频| 国产女人18水真多18精品一级做| 午夜伦理一区二区| eeuss影院一区二区三区| 欧美一卡二卡三卡四卡| 亚洲精品乱码久久久久久日本蜜臀| 韩国精品久久久| 欧美色图在线观看| 国产精品国产三级国产| 九色综合狠狠综合久久| 欧美三级韩国三级日本一级| 国产精品丝袜在线| 加勒比av一区二区| 在线观看91精品国产入口| 国产欧美日韩中文久久| 奇米四色…亚洲| 欧美这里有精品| √…a在线天堂一区| 国产美女精品人人做人人爽| 欧美一二三区在线| 亚洲一区二区欧美日韩| 97精品国产露脸对白| 国产色产综合色产在线视频 | 久久免费电影网| 无码av中文一区二区三区桃花岛| 91亚洲国产成人精品一区二区三| 国产亲近乱来精品视频 | 久久精品亚洲精品国产欧美| 麻豆精品国产91久久久久久| 欧美人伦禁忌dvd放荡欲情| 亚洲色图视频网站| 成人精品鲁一区一区二区| 久久久久久黄色| 经典三级视频一区| 欧美一级艳片视频免费观看| 偷窥少妇高潮呻吟av久久免费| 欧美色电影在线| 亚洲gay无套男同| 欧美亚洲综合久久| 亚洲美女免费在线| 色综合久久综合中文综合网| 亚洲精品国产精品乱码不99 | 亚洲成av人片一区二区三区| 欧美三级电影网站| 亚洲午夜精品17c| 精品视频资源站| 一区二区免费视频| 91九色02白丝porn| 亚洲一区二区黄色| 欧美在线小视频| 亚洲成人高清在线| 欧美一区午夜精品| 日韩av不卡在线观看| 91精品国产美女浴室洗澡无遮挡| 久久99久久精品欧美| 精品国产91乱码一区二区三区| 国产综合久久久久久鬼色| 久久综合久久久久88| 国产精品69久久久久水密桃| 欧美国产日韩精品免费观看| 91免费看片在线观看| 亚洲一二三四久久| 在线综合亚洲欧美在线视频| 激情久久五月天| 亚洲国产精品av| 色婷婷av久久久久久久| 亚洲成a人片在线观看中文| 在线成人av网站| 韩国v欧美v日本v亚洲v| 国产精品久久免费看| 91福利在线看| 日韩国产欧美在线观看| 久久品道一品道久久精品| 成人av免费在线| 亚洲电影在线免费观看| 精品理论电影在线观看| 成人免费视频视频| 亚洲精品视频在线看| 欧美一区二区三区啪啪| 国产精品77777| 一区二区三区四区不卡视频| 欧美一区二区三区免费| 粉嫩一区二区三区性色av| 亚洲品质自拍视频网站| 91精品国产一区二区| 国产一区不卡精品| 亚洲天天做日日做天天谢日日欢| 欧美精选一区二区| 高清在线不卡av| 午夜精品在线视频一区| 久久老女人爱爱| 欧美探花视频资源| 国产一区久久久| 亚洲综合精品自拍| 欧美精品一区二区蜜臀亚洲| 一本大道久久a久久综合| 久久国产尿小便嘘嘘尿| 亚洲色大成网站www久久九九| 日韩一区二区三区在线观看| av激情亚洲男人天堂| 天天爽夜夜爽夜夜爽精品视频| 国产欧美精品一区二区色综合| 欧美日韩一区二区在线观看| 国产高清精品久久久久| 亚洲午夜日本在线观看| 国产欧美日韩精品a在线观看| 777久久久精品| 91尤物视频在线观看| 国产一二精品视频| 日日摸夜夜添夜夜添精品视频| 中文字幕av在线一区二区三区| 欧美成人精品二区三区99精品| 色一情一乱一乱一91av| 国产二区国产一区在线观看| 天天色天天操综合| 中文字幕中文字幕一区二区| 久久网站最新地址| 欧美另类videos死尸| 99re这里只有精品首页| 韩国成人福利片在线播放| 性感美女久久精品| 亚洲欧洲性图库| 久久久久久久久99精品| 欧美一区二区三区免费在线看| 欧美三级中文字幕| 99精品国产视频| 丁香一区二区三区| 精品一二三四区| 视频在线观看一区| 亚洲男人的天堂av| 国产欧美一区二区在线| 欧美mv日韩mv| 欧美精品第1页| 欧美日韩一区二区在线视频| 色综合久久88色综合天天 | 中文字幕在线不卡一区二区三区| 欧美精品一区二区高清在线观看| 在线综合视频播放| 欧美少妇一区二区| 在线免费观看成人短视频| 成人av电影观看| 成人午夜大片免费观看| 国产精品一区二区黑丝| 国产一区美女在线| 国内欧美视频一区二区| 久久99精品国产| 精品一区二区三区日韩| 奇米一区二区三区| 免费一区二区视频| 秋霞国产午夜精品免费视频| 日韩电影在线观看网站| 亚洲图片欧美一区| 亚洲制服丝袜av| 亚洲国产日韩a在线播放| 亚洲美女一区二区三区| 亚洲欧洲av另类| 亚洲日本一区二区三区| 成人免费一区二区三区在线观看| 国产精品久久久久久久久图文区| 国产精品女同一区二区三区| 国产精品国产成人国产三级| 亚洲色图欧美偷拍| 亚洲欧美电影院| 亚洲va欧美va人人爽| 日本一区中文字幕 | 欧美成人一区二区三区在线观看|