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

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

?? applicat.c

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

#include "dflat.h"

static BOOL DisplayModified = FALSE;
DFWINDOW DfApplicationWindow;

extern DF_DBOX Display;
extern DF_DBOX Windows;

#ifdef INCLUDE_LOGGING
extern DF_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

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

	DfApplicationWindow = wnd;
#ifdef INCLUDE_WINDOWOPTIONS
    if (DfCfg.Border)
        DfSetCheckBox(&Display, DF_ID_BORDER);
    if (DfCfg.Title)
        DfSetCheckBox(&Display, DF_ID_TITLE);
    if (DfCfg.StatusBar)
        DfSetCheckBox(&Display, DF_ID_STATUSBAR);
    if (DfCfg.Texture)
        DfSetCheckBox(&Display, DF_ID_TEXTURE);
#endif
    SelectColors(wnd);
#ifdef INCLUDE_WINDOWOPTIONS
    SelectBorder(wnd);
    SelectTitle(wnd);
    SelectStatusBar(wnd);
#endif
    rtn = DfBaseWndProc(DF_APPLICATION, wnd, DFM_CREATE_WINDOW, 0, 0);
    if (wnd->extension != NULL)
        DfCreateMenu(wnd);
    CreateStatusBar(wnd);
    return rtn;
}

/* --------- DFM_ADDSTATUS Message ---------- */
static void AddStatusMsg(DFWINDOW wnd, DF_PARAM p1)
{
    if (wnd->StatusBar != NULL)    {
        if (p1 && *(char *)p1)
            DfSendMessage(wnd->StatusBar, DFM_SETTEXT, p1, 0);
        else
            DfSendMessage(wnd->StatusBar, DFM_CLEARTEXT, 0, 0);
        DfSendMessage(wnd->StatusBar, DFM_PAINT, 0, 0);
    }
}

/* -------- DFM_SETFOCUS Message -------- */
static void SetFocusMsg(DFWINDOW wnd, BOOL p1)
{
    if (p1)
        DfSendMessage(DfInFocus, DFM_SETFOCUS, FALSE, 0);
    DfInFocus = p1 ? wnd : NULL;
	if (DfIsVisible(wnd))
	    DfSendMessage(wnd, DFM_BORDER, 0, 0);
	else
	    DfSendMessage(wnd, DFM_SHOW_WINDOW, 0, 0);
}

/* ------- SIZE Message -------- */
static void SizeMsg(DFWINDOW wnd, DF_PARAM p1, DF_PARAM p2)
{
    BOOL WasVisible;
    WasVisible = DfIsVisible(wnd);
    if (WasVisible)
        DfSendMessage(wnd, DFM_HIDE_WINDOW, 0, 0);
    if (p1-DfGetLeft(wnd) < 30)
        p1 = DfGetLeft(wnd) + 30;
    DfBaseWndProc(DF_APPLICATION, wnd, DFM_DFM_SIZE, p1, p2);
    DfCreateMenu(wnd);
    CreateStatusBar(wnd);
    if (WasVisible)
        DfSendMessage(wnd, DFM_SHOW_WINDOW, 0, 0);
}

/* ----------- DFM_KEYBOARD Message ------------ */
static int KeyboardMsg(DFWINDOW wnd, DF_PARAM p1, DF_PARAM p2)
{
    if (DfWindowMoving || DfWindowSizing || (int) p1 == DF_F1)
        return DfBaseWndProc(DF_APPLICATION, wnd, DFM_KEYBOARD, p1, p2);
    switch ((int) p1)    {
        case DF_ALT_F4:
            DfPostMessage(wnd, DFM_CLOSE_WINDOW, 0, 0);
            return TRUE;
#ifdef INCLUDE_MULTI_WINDOWS
        case DF_ALT_F6:
            DfSetNextFocus();
            return TRUE;
#endif
        case DF_ALT_HYPHEN:
            DfBuildSystemMenu(wnd);
            return TRUE;
        default:
            break;
    }
    DfPostMessage(wnd->MenuBarWnd, DFM_KEYBOARD, p1, p2);
    return TRUE;
}

/* --------- DFM_SHIFT_CHANGED Message -------- */
static void ShiftChangedMsg(DFWINDOW wnd, DF_PARAM p1)
{
	extern BOOL AltDown;
    if ((int)p1 & DF_ALTKEY)
        AltDown = TRUE;
    else if (AltDown)    {
        AltDown = FALSE;
        if (wnd->MenuBarWnd != DfInFocus)
            DfSendMessage(NULL, DFM_HIDE_CURSOR, 0, 0);
        DfSendMessage(wnd->MenuBarWnd, DFM_KEYBOARD, DF_F10, 0);
    }
}

/* -------- COMMAND Message ------- */
static void CommandMsg(DFWINDOW wnd, DF_PARAM p1, DF_PARAM p2)
{
    switch ((int)p1)    {
        case DF_ID_HELP:
            DfDisplayHelp(wnd, DFlatApplication);
            break;
        case DF_ID_HELPHELP:
            DfDisplayHelp(wnd, "HelpHelp");
            break;
        case DF_ID_EXTHELP:
            DfDisplayHelp(wnd, "ExtHelp");
            break;
        case DF_ID_KEYSHELP:
            DfDisplayHelp(wnd, "KeysHelp");
            break;
        case DF_ID_HELPINDEX:
            DfDisplayHelp(wnd, "HelpIndex");
            break;
#ifdef TESTING_DFLAT
        case DF_ID_LOADHELP:
            DfLoadHelpFile();
            break;
#endif
#ifdef INCLUDE_LOGGING
        case DF_ID_LOG:
            DfMessageLog(wnd);
            break;
#endif
#ifdef INCLUDE_SHELLDOS
        case DF_ID_DOS:
            ShellDOS(wnd);
            break;
#endif
        case DF_ID_EXIT:
        case DF_ID_SYSCLOSE:
            DfPostMessage(wnd, DFM_CLOSE_WINDOW, 0, 0);
            break;
        case DF_ID_DISPLAY:
            if (DfDialogBox(wnd, &Display, TRUE, NULL))    {
				if (DfInFocus == wnd->MenuBarWnd || DfInFocus == wnd->StatusBar)
					oldFocus = DfApplicationWindow;
				else
					oldFocus = DfInFocus;
                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, DFM_SHOW_WINDOW, 0, 0);
			    DfSendMessage(oldFocus, DFM_SETFOCUS, TRUE, 0);
            }
            break;
        case DF_ID_SAVEOPTIONS:
            DfSaveConfig();
            break;
#ifdef INCLUDE_MULTI_WINDOWS
        case DF_ID_WINDOW:
            ChooseWindow(wnd, (int)p2-2);
            break;
        case DF_ID_CLOSEALL:
            CloseAll(wnd, FALSE);
            break;
        case DF_ID_MOREWINDOWS:
            MoreWindows(wnd);
            break;
#endif
#ifdef INCLUDE_RESTORE
        case DF_ID_SYSRESTORE:
#endif
        case DF_ID_SYSMOVE:
        case DF_ID_SYSSIZE:
#ifdef INCLUDE_MINIMIZE
        case DF_ID_SYSMINIMIZE:
#endif
#ifdef INCLUDE_MAXIMIZE
        case DF_ID_SYSMAXIMIZE:
#endif
            DfBaseWndProc(DF_APPLICATION, wnd, DFM_COMMAND, p1, p2);
            break;
        default:
            if (DfInFocus != wnd->MenuBarWnd && DfInFocus != wnd)
                DfPostMessage(DfInFocus, DFM_COMMAND, p1, p2);
            break;
    }
}

/* --------- DFM_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 = DfBaseWndProc(DF_APPLICATION, wnd, DFM_CLOSE_WINDOW, 0, 0);
    DfUnLoadHelpFile();
	DisplayModified = FALSE;
	DfApplicationWindow = NULL;
    return rtn;
}

/* --- DF_APPLICATION Window Class window processing module --- */
int DfApplicationProc(DFWINDOW wnd, DFMESSAGE msg, DF_PARAM p1, DF_PARAM p2)
{
    switch (msg)
    {
        case DFM_CREATE_WINDOW:
            return CreateWindowMsg(wnd);
        case DFM_HIDE_WINDOW:
            if (wnd == DfInFocus)
                DfInFocus = NULL;
            break;
        case DFM_ADDSTATUS:
            AddStatusMsg(wnd, p1);
            return TRUE;
        case DFM_SETFOCUS:
            if ((int)p1 == (DfInFocus != wnd))    {
                SetFocusMsg(wnd, (BOOL) p1);
                return TRUE;
            }
            break;
        case DFM_DFM_SIZE:
            SizeMsg(wnd, p1, p2);
            return TRUE;
#ifdef INCLUDE_MINIMIZE
        case DFM_MINIMIZE:
            return TRUE;
#endif
        case DFM_KEYBOARD:
            return KeyboardMsg(wnd, p1, p2);
        case DFM_SHIFT_CHANGED:
            ShiftChangedMsg(wnd, p1);
            return TRUE;
        case DFM_PAINT:
            if (DfIsVisible(wnd))    {
#ifdef INCLUDE_WINDOWOPTIONS
                int cl = DfCfg.Texture ? DF_APPLCHAR : ' ';
#else
                int cl = DF_APPLCHAR;
#endif
                DfClearWindow(wnd, (DFRECT *)p1, cl);
            }
            return TRUE;
        case DFM_COMMAND:
            CommandMsg(wnd, p1, p2);
            return TRUE;
        case DFM_CLOSE_WINDOW:
            return CloseWindowMsg(wnd);
        default:
            break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产美女搞黄色| 日精品一区二区三区| 亚洲国产精品影院| 国产成人精品三级| 欧美日韩精品一区二区三区蜜桃| 日韩欧美美女一区二区三区| 一区二区三区国产豹纹内裤在线| 国产美女精品人人做人人爽| 欧美精品xxxxbbbb| 亚洲精品视频在线看| 成人午夜av电影| 精品少妇一区二区三区在线播放 | 91丝袜美腿高跟国产极品老师| 欧美浪妇xxxx高跟鞋交| 日韩美女啊v在线免费观看| 高清日韩电视剧大全免费| 欧美va在线播放| 日韩国产高清影视| 色综合久久六月婷婷中文字幕| 国产精品乱人伦中文| 国产乱色国产精品免费视频| 精品国产成人在线影院| 日本在线播放一区二区三区| 欧美福利视频导航| 五月天视频一区| 欧美人伦禁忌dvd放荡欲情| 亚洲成在人线在线播放| 色菇凉天天综合网| 一区二区三区资源| 色欧美乱欧美15图片| 亚洲蜜臀av乱码久久精品| 91丨九色丨国产丨porny| 亚洲色图制服丝袜| 91久久久免费一区二区| 一区二区在线观看免费视频播放| 91婷婷韩国欧美一区二区| 亚洲免费观看高清完整| 在线观看亚洲精品| 丝袜诱惑制服诱惑色一区在线观看| 欧美日韩国产123区| 天堂蜜桃一区二区三区| 51精品秘密在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩一级大片在线| 国产在线看一区| 国产精品二区一区二区aⅴ污介绍| 成人黄色小视频在线观看| 1区2区3区精品视频| 欧洲一区二区三区在线| 天天色 色综合| 精品粉嫩超白一线天av| 成人一级黄色片| 亚洲精品视频在线观看免费 | 欧美精品一二三| 免费视频最近日韩| 久久综合久久久久88| 国产69精品久久久久毛片| 伊人性伊人情综合网| 在线观看91精品国产麻豆| 国产一区二区三区视频在线播放| 中文字幕欧美日本乱码一线二线| 91视频在线观看| 日本网站在线观看一区二区三区| 久久婷婷成人综合色| 色一区在线观看| 欧美a级理论片| 亚洲欧洲日韩在线| 日韩一区二区三区电影| 成人avav影音| 免费人成在线不卡| 亚洲欧美另类图片小说| 欧美一区二区二区| 91在线一区二区| 久久91精品国产91久久小草| 国产精品久久综合| 日韩欧美在线影院| 91丨九色丨蝌蚪丨老版| 国产原创一区二区| 亚洲成av人片在www色猫咪| 国产亚洲欧美在线| 日韩午夜激情av| 色激情天天射综合网| 国产成人午夜99999| 日韩激情中文字幕| 亚洲视频一二区| 国产欧美日韩在线| 日韩一级黄色大片| 精品视频在线免费| av不卡在线播放| 国产精品一品二品| 激情图片小说一区| 日本成人在线不卡视频| 一区二区国产视频| 亚洲欧美中日韩| 国产亚洲欧美色| 日韩手机在线导航| 欧美日韩一区不卡| 色视频成人在线观看免| www.欧美.com| 不卡一区二区三区四区| 国产成人免费在线视频| 韩国成人在线视频| 久色婷婷小香蕉久久| 奇米777欧美一区二区| 五月婷婷综合在线| 亚洲观看高清完整版在线观看| ●精品国产综合乱码久久久久 | 国产乱人伦偷精品视频不卡| 蜜臀av性久久久久蜜臀av麻豆| 亚洲第一激情av| 午夜精品视频一区| 日韩黄色免费网站| 日韩中文字幕亚洲一区二区va在线| 亚洲精品美国一| 亚洲永久精品国产| 亚洲成人www| 亚洲v日本v欧美v久久精品| 亚洲成人在线网站| 日本亚洲电影天堂| 美女一区二区三区| 久久er99精品| 国产69精品久久久久777| 成人免费高清视频| 一本大道久久a久久综合| 精品视频免费在线| 欧美一区二区视频在线观看2022 | 国产精品乱人伦| 综合久久综合久久| 亚洲成a人片在线观看中文| 视频一区视频二区中文| 捆绑变态av一区二区三区| 国产aⅴ综合色| 99re热视频精品| 欧美日韩一本到| 精品国产伦一区二区三区观看方式 | 久久疯狂做爰流白浆xx| 国产美女在线观看一区| av在线一区二区| 欧美天天综合网| 精品少妇一区二区三区 | 亚洲韩国精品一区| 久久爱www久久做| 9i在线看片成人免费| 91官网在线免费观看| 制服丝袜av成人在线看| 欧美精品一区二区三区蜜臀| 国产精品久久久久影院亚瑟| 亚洲国产日产av| 国产乱码精品一区二区三| 欧美在线一二三四区| 欧美精品一区男女天堂| 亚洲嫩草精品久久| 久久99精品一区二区三区| 色狠狠桃花综合| 久久精品一二三| 一区二区成人在线| 国产一区二区三区精品视频| 91丨porny丨最新| 精品国产欧美一区二区| 亚洲国产一区二区三区| 国产成人亚洲综合色影视| 在线播放国产精品二区一二区四区 | 日韩欧美电影在线| 亚洲免费看黄网站| 国产成人av电影在线播放| 欧美精品乱码久久久久久按摩| 国产欧美精品一区| 美女国产一区二区| 在线观看91视频| 日韩美女视频一区二区| 国产精品一级在线| 日韩一区二区三区电影在线观看 | 欧美不卡一二三| 午夜久久久久久久久| 99re在线精品| 国产亚洲精品久| 精品一区二区三区在线视频| 在线观看免费一区| 亚洲欧美日韩中文播放 | 日韩一级片在线播放| 亚洲综合视频在线观看| 91农村精品一区二区在线| 久久久精品国产99久久精品芒果| 天使萌一区二区三区免费观看| 欧美最猛性xxxxx直播| 亚洲欧洲综合另类| 99视频一区二区三区| 中国色在线观看另类| 国产成人精品www牛牛影视| 精品久久人人做人人爰| 麻豆国产欧美日韩综合精品二区| 欧美日本一区二区| 天堂va蜜桃一区二区三区| 欧美精品丝袜中出| 天天操天天干天天综合网| 欧美日韩亚洲综合| 亚洲尤物视频在线| 欧美嫩在线观看| 蜜桃av噜噜一区二区三区小说| 884aa四虎影成人精品一区|