DWORD TooltipFindFormat(void) { DWORD dwInfoTooltip = 0; char tip[LEN_TOOLTIP]; // Tooltipのテキストをレジストリから読み込む GetMyRegStrEx("Tooltip", "Tooltip", tip, sizeof(tip), "", gConfigNo); //ファイル指定であった場合 if(tip[0] == 'f' && tip[1] == 'i' && tip[2] == 'l' && tip[3] == 'e' && tip[4] == ':') { //Pathを切り出す memmove( tip, tip + 5, (size_t)((strchr(tip,'\0')-1)-tip)); if(!GetTooltipText(tip)){ strcpy(tip, "ファイル取得失敗"); } } dwInfoTooltip |= FindFormat(tip); // Tooltipのテキストをレジストリから読み込む GetMyRegStrEx("Tooltip", "Tooltip2", tip, sizeof(tip), "", gConfigNo); //ファイル指定であった場合 if(tip[0] == 'f' && tip[1] == 'i' && tip[2] == 'l' && tip[3] == 'e' && tip[4] == ':') { //Pathを切り出す memmove( tip, tip + 5, (size_t)((strchr(tip,'\0')-1)-tip)); if(!GetTooltipText(tip)){ strcpy(tip, "ファイル取得失敗"); } } dwInfoTooltip |= FindFormat(tip); // Tooltipのテキストをレジストリから読み込む GetMyRegStrEx("Tooltip", "Tooltip3", tip, sizeof(tip), "", gConfigNo); //ファイル指定であった場合 if(tip[0] == 'f' && tip[1] == 'i' && tip[2] == 'l' && tip[3] == 'e' && tip[4] == ':') { //Pathを切り出す memmove( tip, tip + 5, (size_t)((strchr(tip,'\0')-1)-tip)); if(!GetTooltipText(tip)){ strcpy(tip, "ファイル取得失敗"); } } dwInfoTooltip |= FindFormat(tip); GetMyRegStrEx("", "TipTitle", tip, sizeof(tip), "", gConfigNo); dwInfoTooltip |= FindFormat(tip); return dwInfoTooltip; }
void TooltipReadData(void) { char fontname[80]; int fontsize; LONG weight, italic; GetMyRegStrEx(NULL, "TipFont", fontname, 80, "", gConfigNo); if (fontname[0] == 0) { HFONT hfont; hfont = (HFONT)GetStockObject(DEFAULT_GUI_FONT); if(hfont) { LOGFONT lf; GetObject(hfont, sizeof(lf),(LPVOID)&lf); strcpy(fontname, lf.lfFaceName); } } fontsize = GetMyRegLongEx(NULL, "TipFontSize", 9, gConfigNo); weight = GetMyRegLongEx(NULL, "TipBold", 0, gConfigNo); if(weight) weight = FW_BOLD; else weight = 0; italic = GetMyRegLongEx(NULL, "TipItalic", 0, gConfigNo); if(hFonTooltip) DeleteObject(hFonTooltip); hFonTooltip = CreateMyFont(fontname, fontsize, weight, italic); dwTooltipType = GetMyRegLong(NULL, "BalloonFlg", 0); alphaTooltip = (int)(short)GetMyRegLongEx(NULL, "AlphaTip", 0, gConfigNo); iTooltipDispTime = (int)(short)GetMyRegLong(NULL, "TipDispTime", 5); bTooltipCustomDrawDisable = GetMyRegLong("Tooltip", "TipDisableCustomDraw", TRUE); bTooltipUpdateEnable[0] = GetMyRegLong("Tooltip", "Tip1Update", 0); bTooltipUpdateEnable[1] = GetMyRegLong("Tooltip", "Tip2Update", 0); bTooltipUpdateEnable[2] = GetMyRegLong("Tooltip", "Tip3Update", 0); dwTooltipFonCol = GetMyRegLongEx(NULL, "TipFonColor", 0x80000000 | COLOR_INFOTEXT, gConfigNo); dwTooltipBakCol = GetMyRegLongEx(NULL, "TipBakColor", 0x80000000 | COLOR_INFOBK, gConfigNo); bTooltipEnableDoubleBuffering = GetMyRegLong("Tooltip", "TipEnableDoubleBuffering", FALSE); nTooltipIcon = GetMyRegLongEx("", "TipIcon", 0, gConfigNo); iTooltipDispInterval = (int)(short)GetMyRegLong("Tooltip", "TipDispInterval", 1); if (iTooltipDispInterval > 30) iTooltipDispInterval = 30; if (iTooltipDispInterval < 1) iTooltipDispInterval = 1; iTooltipSizeX = GetMyRegLong("Tooltip", "HTMLTipDispSizeX", 200); iTooltipSizeY = GetMyRegLong("Tooltip", "HTMLTipDispSizeY", 200); }
//================================================================================================ //-------------------------------//---------------------------+++--> Initialize the HotKeys Dialog: static void OnInit(HWND hDlg) { //----------------------------------------------------------+++--> char subkey[TNY_BUFF] = {0}; int i; bFirstTime = TRUE; tchk = malloc(sizeof(TCHOTKEY) * 5); for(i=0; i <= 4; i++) { wsprintf(subkey, "%s\\HK%d", szHotKeySubKey, i); tchk[i].bValid = GetMyRegLong(subkey, "bValid", 0); // GetMyRegStrEx(subkey, "szText", tchk[i].szText, GEN_BUFF, "None"); GetMyRegStrEx(subkey, "szText", tchk[i].szText, TNY_BUFF, "None"); tchk[i].fsMod = GetMyRegLong(subkey, "fsMod", 0); tchk[i].vk = GetMyRegLong(subkey, "vk", 0); } SetDlgItemText(hDlg, IDCE_HK_ADD, tchk[0].szText); SetDlgItemText(hDlg, IDCE_HK_STOP, tchk[1].szText); SetDlgItemText(hDlg, IDCE_HK_TIME, tchk[2].szText); SetDlgItemText(hDlg, IDCE_HK_PROP, tchk[3].szText); SetDlgItemText(hDlg, IDCE_HK_CALN, tchk[4].szText); // Subclass the Edit Controls OldEditClassProc = (WNDPROC)(LONG_PTR)GetWindowLongPtr(GetDlgItem(hDlg, IDCE_HK_ADD), GWL_WNDPROC); //================================================================================== #if defined _M_IX86 //---------------+++--> IF Compiling This as a 32-bit Clock Use: SetWindowLongPtr(GetDlgItem(hDlg, IDCE_HK_ADD), GWL_WNDPROC, (LONG)(LRESULT)SubClassEditProc); SetWindowLongPtr(GetDlgItem(hDlg, IDCE_HK_STOP), GWL_WNDPROC, (LONG)(LRESULT)SubClassEditProc); SetWindowLongPtr(GetDlgItem(hDlg, IDCE_HK_TIME), GWL_WNDPROC, (LONG)(LRESULT)SubClassEditProc); SetWindowLongPtr(GetDlgItem(hDlg, IDCE_HK_PROP), GWL_WNDPROC, (LONG)(LRESULT)SubClassEditProc); SetWindowLongPtr(GetDlgItem(hDlg, IDCE_HK_CALN), GWL_WNDPROC, (LONG)(LRESULT)SubClassEditProc); //================================================================================== #else //-------------------+++--> ELSE Assume: _M_X64 - IT's a 64-bit Clock and Use: SetWindowLongPtr(GetDlgItem(hDlg, IDCE_HK_ADD), GWL_WNDPROC, (LONG_PTR)(LRESULT)SubClassEditProc); SetWindowLongPtr(GetDlgItem(hDlg, IDCE_HK_STOP), GWL_WNDPROC, (LONG_PTR)(LRESULT)SubClassEditProc); SetWindowLongPtr(GetDlgItem(hDlg, IDCE_HK_TIME), GWL_WNDPROC, (LONG_PTR)(LRESULT)SubClassEditProc); SetWindowLongPtr(GetDlgItem(hDlg, IDCE_HK_PROP), GWL_WNDPROC, (LONG_PTR)(LRESULT)SubClassEditProc); SetWindowLongPtr(GetDlgItem(hDlg, IDCE_HK_CALN), GWL_WNDPROC, (LONG_PTR)(LRESULT)SubClassEditProc); #endif //================================================================================== }
/*------------------------------------------------ ツールチップの表示内容取得 --------------------------------------------------*/ static void TooltipUpdateText(void) { const static char * const aszRegEntry[3] = { "Tooltip", "Tooltip2", "Tooltip3", }; SYSTEMTIME t; int beat100; char fmt[LEN_TOOLTIP], s[LEN_TOOLTIP], tiptitle[300], tipt[300], ini_key[10]; DWORD dw; RECT rcClock; int clLen, mPos; BOOL bTooltip2, bTooltip3, bTooltipTate; bTooltipUpdated = TRUE; bTooltip2 = GetMyRegLongEx("Tooltip", "Tip2Use", FALSE, gConfigNo); if (bTooltip2) { bTooltip3 = GetMyRegLongEx("Tooltip", "Tip3Use", FALSE, gConfigNo); bTooltipTate = GetMyRegLongEx("Tooltip", "TipTateFlg", FALSE, gConfigNo); GetWindowRect(hwndClock, &rcClock); dw = GetMessagePos(); if (bTooltipTate) { clLen = rcClock.bottom - rcClock.top; mPos = GET_Y_LPARAM(dw) - rcClock.top; } else { clLen = rcClock.right - rcClock.left; mPos = GET_X_LPARAM(dw) - rcClock.left; } if (bTooltip3) { if ( mPos > (2*clLen/3) ) iTooltipSelected = 2; if ( mPos <= (2*clLen/3) && mPos >= (clLen/3) ) iTooltipSelected = 1; if ( mPos < (clLen/3) ) iTooltipSelected = 0; } else { if ( mPos > (clLen/2) ) iTooltipSelected = 1; if ( mPos <= (clLen/2) ) iTooltipSelected = 0; } } else { iTooltipSelected = 0; } strcpy(ini_key, aszRegEntry[iTooltipSelected]); GetMyRegStrEx("Tooltip", ini_key, fmt, sizeof(fmt), "", gConfigNo); if(fmt[0] == 'f' && fmt[1] == 'i' && fmt[2] == 'l' && fmt[3] == 'e' && fmt[4] == ':') { memmove( fmt, fmt + 5, (size_t)((strchr(fmt,'\0')-1)-fmt)); if(!GetTooltipText(fmt)){ strcpy(fmt, "ファイル取得失敗"); } } if(fmt[0] == 0) { strcpy(fmt, "TClock <%LDATE%>"); } GetDisplayTime(&t, &beat100); MakeFormat(s, &t, beat100, fmt); strcpy(formatTooltip, s); //635@p5 GetMyRegStrEx("", "TipTitle", tiptitle, 300, "", gConfigNo); if(tiptitle[0] != 0) { MakeFormat(tipt, &t, beat100, tiptitle); strcpy(titleTooltip, tipt); } else { titleTooltip[0] = 0; } }