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

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

?? applicat.c

?? ReactOS是一些高手根據Windows XP的內核編寫出的類XP。內核實現機理和API函數調用幾乎相同。甚至可以兼容XP的程序。喜歡研究系統內核的人可以看一看。
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* ------------- applicat.c ------------- */

#include "dflat32/dflat.h"

static BOOL DisplayModified = FALSE;
DFWINDOW ApplicationWindow;

extern DBOX Display;
extern DBOX Windows;

#ifdef INCLUDE_LOGGING
extern DBOX Log;
#endif

#ifdef INCLUDE_SHELLDOS
static void ShellDOS(DFWINDOW);
#endif
static void DfCreateMenu(DFWINDOW);
static void CreateStatusBar(DFWINDOW);
static void SelectColors(DFWINDOW);

#ifdef INCLUDE_WINDOWOPTIONS
static void SelectTexture(void);
static void SelectBorder(DFWINDOW);
static void SelectTitle(DFWINDOW);
static void SelectStatusBar(DFWINDOW);
#endif

static DFWINDOW oldFocus;
#ifdef INCLUDE_MULTI_WINDOWS
static void CloseAll(DFWINDOW, int);
static void MoreWindows(DFWINDOW);
static void ChooseWindow(DFWINDOW, int);
static int WindowSel;
static char Menus[9][26] =
{
	"~1.                      ",
	"~2.                      ",
	"~3.                      ",
	"~4.                      ",
	"~5.                      ",
	"~6.                      ",
	"~7.                      ",
	"~8.                      ",
	"~9.                      "
};
#endif

/* --------------- CREATE_WINDOW Message -------------- */
static int CreateWindowMsg(DFWINDOW wnd)
{
	int rtn;

	ApplicationWindow = wnd;
#ifdef INCLUDE_WINDOWOPTIONS
    if (cfg.Border)
        SetCheckBox(&Display, ID_BORDER);
    if (cfg.Title)
        SetCheckBox(&Display, ID_TITLE);
    if (cfg.StatusBar)
        SetCheckBox(&Display, ID_STATUSBAR);
    if (cfg.Texture)
        SetCheckBox(&Display, ID_TEXTURE);
#endif
    SelectColors(wnd);
#ifdef INCLUDE_WINDOWOPTIONS
    SelectBorder(wnd);
    SelectTitle(wnd);
    SelectStatusBar(wnd);
#endif
    rtn = BaseWndProc(APPLICATION, wnd, CREATE_WINDOW, 0, 0);
    if (wnd->extension != NULL)
        DfCreateMenu(wnd);
    CreateStatusBar(wnd);
    return rtn;
}

/* --------- ADDSTATUS Message ---------- */
static void AddStatusMsg(DFWINDOW wnd, PARAM p1)
{
    if (wnd->StatusBar != NULL)    {
        if (p1 && *(char *)p1)
            DfSendMessage(wnd->StatusBar, SETTEXT, p1, 0);
        else
            DfSendMessage(wnd->StatusBar, CLEARTEXT, 0, 0);
        DfSendMessage(wnd->StatusBar, PAINT, 0, 0);
    }
}

/* -------- SETFOCUS Message -------- */
static void SetFocusMsg(DFWINDOW wnd, BOOL p1)
{
    if (p1)
        DfSendMessage(inFocus, SETFOCUS, FALSE, 0);
    inFocus = p1 ? wnd : NULL;
	if (isVisible(wnd))
	    DfSendMessage(wnd, BORDER, 0, 0);
	else
	    DfSendMessage(wnd, SHOW_WINDOW, 0, 0);
}

/* ------- SIZE Message -------- */
static void SizeMsg(DFWINDOW wnd, PARAM p1, PARAM p2)
{
    BOOL WasVisible;
    WasVisible = isVisible(wnd);
    if (WasVisible)
        DfSendMessage(wnd, DFM_HIDE_WINDOW, 0, 0);
    if (p1-GetLeft(wnd) < 30)
        p1 = GetLeft(wnd) + 30;
    BaseWndProc(APPLICATION, wnd, DFM_SIZE, p1, p2);
    DfCreateMenu(wnd);
    CreateStatusBar(wnd);
    if (WasVisible)
        DfSendMessage(wnd, SHOW_WINDOW, 0, 0);
}

/* ----------- KEYBOARD Message ------------ */
static int KeyboardMsg(DFWINDOW wnd, PARAM p1, PARAM p2)
{
    if (WindowMoving || WindowSizing || (int) p1 == F1)
        return BaseWndProc(APPLICATION, wnd, KEYBOARD, p1, p2);
    switch ((int) p1)    {
        case ALT_F4:
            DfPostMessage(wnd, CLOSE_WINDOW, 0, 0);
            return TRUE;
#ifdef INCLUDE_MULTI_WINDOWS
        case ALT_F6:
            SetNextFocus();
            return TRUE;
#endif
        case ALT_HYPHEN:
            BuildSystemMenu(wnd);
            return TRUE;
        default:
            break;
    }
    DfPostMessage(wnd->MenuBarWnd, KEYBOARD, p1, p2);
    return TRUE;
}

/* --------- SHIFT_CHANGED Message -------- */
static void ShiftChangedMsg(DFWINDOW wnd, PARAM p1)
{
	extern BOOL AltDown;
    if ((int)p1 & ALTKEY)
        AltDown = TRUE;
    else if (AltDown)    {
        AltDown = FALSE;
        if (wnd->MenuBarWnd != inFocus)
            DfSendMessage(NULL, HIDE_CURSOR, 0, 0);
        DfSendMessage(wnd->MenuBarWnd, KEYBOARD, F10, 0);
    }
}

/* -------- COMMAND Message ------- */
static void CommandMsg(DFWINDOW wnd, PARAM p1, PARAM p2)
{
    switch ((int)p1)    {
        case ID_HELP:
            DisplayHelp(wnd, DFlatApplication);
            break;
        case ID_HELPHELP:
            DisplayHelp(wnd, "HelpHelp");
            break;
        case ID_EXTHELP:
            DisplayHelp(wnd, "ExtHelp");
            break;
        case ID_KEYSHELP:
            DisplayHelp(wnd, "KeysHelp");
            break;
        case ID_HELPINDEX:
            DisplayHelp(wnd, "HelpIndex");
            break;
#ifdef TESTING_DFLAT
        case ID_LOADHELP:
            LoadHelpFile();
            break;
#endif
#ifdef INCLUDE_LOGGING
        case ID_LOG:
            MessageLog(wnd);
            break;
#endif
#ifdef INCLUDE_SHELLDOS
        case ID_DOS:
            ShellDOS(wnd);
            break;
#endif
        case ID_EXIT:
        case ID_SYSCLOSE:
            DfPostMessage(wnd, CLOSE_WINDOW, 0, 0);
            break;
        case ID_DISPLAY:
            if (DfDialogBox(wnd, &Display, TRUE, NULL))    {
				if (inFocus == wnd->MenuBarWnd || inFocus == wnd->StatusBar)
					oldFocus = ApplicationWindow;
				else
					oldFocus = inFocus;
                DfSendMessage(wnd, DFM_HIDE_WINDOW, 0, 0);
                SelectColors(wnd);
#ifdef INCLUDE_WINDOWOPTIONS
                SelectBorder(wnd);
                SelectTitle(wnd);
                SelectStatusBar(wnd);
                SelectTexture();
#endif
                DfCreateMenu(wnd);
                CreateStatusBar(wnd);
                DfSendMessage(wnd, SHOW_WINDOW, 0, 0);
			    DfSendMessage(oldFocus, SETFOCUS, TRUE, 0);
            }
            break;
        case ID_SAVEOPTIONS:
            SaveConfig();
            break;
#ifdef INCLUDE_MULTI_WINDOWS
        case ID_WINDOW:
            ChooseWindow(wnd, (int)p2-2);
            break;
        case ID_CLOSEALL:
            CloseAll(wnd, FALSE);
            break;
        case ID_MOREWINDOWS:
            MoreWindows(wnd);
            break;
#endif
#ifdef INCLUDE_RESTORE
        case ID_SYSRESTORE:
#endif
        case ID_SYSMOVE:
        case ID_SYSSIZE:
#ifdef INCLUDE_MINIMIZE
        case ID_SYSMINIMIZE:
#endif
#ifdef INCLUDE_MAXIMIZE
        case ID_SYSMAXIMIZE:
#endif
            BaseWndProc(APPLICATION, wnd, DFM_COMMAND, p1, p2);
            break;
        default:
            if (inFocus != wnd->MenuBarWnd && inFocus != wnd)
                DfPostMessage(inFocus, DFM_COMMAND, p1, p2);
            break;
    }
}

/* --------- CLOSE_WINDOW Message -------- */
static int CloseWindowMsg(DFWINDOW wnd)
{
    int rtn;
#ifdef INCLUDE_MULTI_WINDOWS
    CloseAll(wnd, TRUE);
	WindowSel = 0;
#endif
    DfPostMessage(NULL, DFM_STOP, 0, 0);
    rtn = BaseWndProc(APPLICATION, wnd, CLOSE_WINDOW, 0, 0);
    UnLoadHelpFile();
	DisplayModified = FALSE;
	ApplicationWindow = NULL;
    return rtn;
}

/* --- APPLICATION Window Class window processing module --- */
int ApplicationProc(DFWINDOW wnd, DFMESSAGE msg, PARAM p1, PARAM p2)
{
    switch (msg)
    {
        case CREATE_WINDOW:
            return CreateWindowMsg(wnd);
        case DFM_HIDE_WINDOW:
            if (wnd == inFocus)
                inFocus = NULL;
            break;
        case ADDSTATUS:
            AddStatusMsg(wnd, p1);
            return TRUE;
        case SETFOCUS:
            if ((int)p1 == (inFocus != wnd))    {
                SetFocusMsg(wnd, (BOOL) p1);
                return TRUE;
            }
            break;
        case DFM_SIZE:
            SizeMsg(wnd, p1, p2);
            return TRUE;
#ifdef INCLUDE_MINIMIZE
        case MINIMIZE:
            return TRUE;
#endif
        case KEYBOARD:
            return KeyboardMsg(wnd, p1, p2);
        case SHIFT_CHANGED:
            ShiftChangedMsg(wnd, p1);
            return TRUE;
        case PAINT:
            if (isVisible(wnd))    {
#ifdef INCLUDE_WINDOWOPTIONS
                int cl = cfg.Texture ? APPLCHAR : ' ';
#else
                int cl = APPLCHAR;
#endif
                ClearWindow(wnd, (DFRECT *)p1, cl);
            }
            return TRUE;
        case DFM_COMMAND:
            CommandMsg(wnd, p1, p2);
            return TRUE;
        case CLOSE_WINDOW:
            return CloseWindowMsg(wnd);
        default:
            break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡免费追剧大全电视剧网站| 亚洲综合999| jlzzjlzz亚洲日本少妇| 一区二区不卡在线视频 午夜欧美不卡在 | 久久99精品国产.久久久久| 26uuu亚洲| 91福利国产精品| 丝袜国产日韩另类美女| 久久精品日韩一区二区三区| 91小视频免费观看| 青青草91视频| 亚洲欧洲精品成人久久奇米网| 欧美色中文字幕| 国产 日韩 欧美大片| 亚洲欧洲一区二区在线播放| 精品少妇一区二区三区免费观看 | 亚洲少妇中出一区| 一本色道**综合亚洲精品蜜桃冫| 国内成人精品2018免费看| 一区二区三区美女视频| 精品理论电影在线观看| 色婷婷综合久久久| 国产成人自拍在线| 丝袜美腿高跟呻吟高潮一区| 国产精品久久久久毛片软件| 欧美二区在线观看| 日本丶国产丶欧美色综合| 国产精品99久久久久久似苏梦涵 | 久久久久久久一区| 欧美日韩一区二区三区视频| 91影视在线播放| 成人aaaa免费全部观看| 国产黄人亚洲片| 国产精品一区二区在线观看不卡 | 欧美国产精品专区| 精品国产123| 精品99久久久久久| 久久夜色精品国产欧美乱极品| 日韩一级二级三级精品视频| 欧美精品在线视频| 欧美蜜桃一区二区三区| 欧美性猛交xxxx黑人交| 欧美在线999| 欧美日韩一二三| 欧美另类高清zo欧美| 欧美精品一二三| 日韩视频一区二区在线观看| 欧美一区二区私人影院日本| 91精品国产色综合久久不卡电影| 91精品国产色综合久久ai换脸| 日韩一区二区精品在线观看| 日韩一区二区视频在线观看| 日韩欧美国产午夜精品| 久久这里都是精品| 日本一区二区不卡视频| 亚洲日本丝袜连裤袜办公室| 有码一区二区三区| 天天亚洲美女在线视频| 理论电影国产精品| 高清免费成人av| 99国产精品久| 欧美肥妇free| 国产三级精品在线| 一区二区三区欧美久久| 日本午夜精品一区二区三区电影| 狠狠色综合色综合网络| 丁香啪啪综合成人亚洲小说| 99精品视频一区| 69堂亚洲精品首页| 国产午夜一区二区三区| 一二三区精品视频| 国模冰冰炮一区二区| 99视频精品免费视频| 欧美日韩精品一区二区三区| 久久伊人蜜桃av一区二区| 亚洲色图视频网| 美女视频网站久久| 91在线观看地址| 精品三级在线观看| 一区二区三区在线视频免费| 蜜臀a∨国产成人精品| 岛国av在线一区| 欧美一区二区日韩| 国产精品色哟哟| 日韩av在线免费观看不卡| 国产jizzjizz一区二区| 欧美三级日韩三级| 欧美韩日一区二区三区四区| 亚洲成a人片在线观看中文| 狠狠网亚洲精品| 欧美日韩一区二区三区在线| 国产亚洲自拍一区| 日韩国产欧美在线视频| 成人va在线观看| 日韩欧美一级特黄在线播放| 18成人在线视频| 国产一区在线观看麻豆| 欧美在线|欧美| 国产精品黄色在线观看| 精品在线观看视频| 欧美日韩免费一区二区三区 | 国产精品理论在线观看| 日本aⅴ免费视频一区二区三区 | 99精品在线免费| 欧美精品一区二区三区久久久| 一卡二卡三卡日韩欧美| 成人黄色av电影| 精品国产91洋老外米糕| 日韩二区在线观看| 精品视频在线免费观看| 国产精品国产三级国产aⅴ中文 | 欧美高清dvd| 亚洲天堂中文字幕| 成人妖精视频yjsp地址| 日韩欧美国产三级电影视频| 同产精品九九九| 欧美午夜精品久久久| 亚洲视频电影在线| 99国产精品久久| 《视频一区视频二区| 成人午夜激情片| 欧美激情在线一区二区三区| 国产老妇另类xxxxx| 精品国产不卡一区二区三区| 蜜臀国产一区二区三区在线播放| 欧美日本韩国一区二区三区视频 | 中文字幕乱码久久午夜不卡| 精品一区二区三区不卡| 日韩一二三区视频| 麻豆成人久久精品二区三区红| 欧美猛男男办公室激情| 五月激情六月综合| 欧美日韩国产首页在线观看| 亚洲一区二区三区在线看| 欧美午夜精品电影| 日韩电影免费一区| 日韩一区二区三区电影在线观看 | 国产偷国产偷精品高清尤物| 精品亚洲成a人| 精品国产伦理网| 国产一区二区三区国产| 国产亚洲视频系列| 岛国精品在线观看| 一区在线中文字幕| 91久久精品网| 婷婷综合另类小说色区| 日韩久久精品一区| 国产裸体歌舞团一区二区| 中文字幕第一页久久| 成人精品视频网站| 一区二区三区四区不卡视频| 欧美日韩精品一区二区天天拍小说 | 国产精品91xxx| 中文字幕一区二区三区不卡| 色婷婷亚洲一区二区三区| 一区二区免费看| 日韩一级大片在线| 粗大黑人巨茎大战欧美成人| 尤物在线观看一区| 欧美日韩国产经典色站一区二区三区| 亚洲成人av电影| 欧美大片一区二区| 成人性生交大片免费看在线播放 | 狠狠色丁香久久婷婷综| 中文在线一区二区| 色乱码一区二区三区88| 免费高清视频精品| 亚洲国产精品t66y| 欧美亚洲综合色| 精品一区二区三区不卡| 亚洲美女在线一区| 欧美一二三在线| 成人午夜视频福利| 午夜精品久久久久久久久久| 精品国产91乱码一区二区三区| 91色九色蝌蚪| 久久精品国产一区二区三| 中文字幕一区二区三区在线观看 | 国产精品久久久久久久久图文区 | 国产精品久久午夜| 欧美疯狂性受xxxxx喷水图片| 国产呦萝稀缺另类资源| 一区二区欧美国产| 久久九九久久九九| 欧美日韩久久一区| 97久久人人超碰| 久久99国产精品麻豆| 亚洲精品国产a| 久久久亚洲精品一区二区三区| 91国在线观看| 国产精品1区二区.| 视频一区欧美精品| 亚洲日本va在线观看| 欧美精品一区在线观看| 欧美午夜一区二区三区免费大片| 国模一区二区三区白浆| 视频在线观看一区二区三区| 国产精品成人免费| 久久久久久99久久久精品网站| 欧美日韩一区精品|