Revision: 8145 https://osdn.net/projects/ttssh2/scm/svn/commits/8145 Author: yutakapon Date: 2019-09-14 20:04:18 +0900 (Sat, 14 Sep 2019) Log Message: ----------- trunkからリビジョン8120-8123, 8137-8139, 8142-8143をマージ: ・バージョン情報を記述するファイルは SVN の管理下に置かないようにした。 ・SFMTのビルド時、上記ファイルがなかった場合は Unknown と表記するファイルを作る。 ........ r8120に合わせてリリース手順を修正した。 ........ case sensitive なファイルシステム上でのビルドを考慮 - ファイル名は変更しない方針で修正 - パスセパレータは "/" に変更 (teraterm/teraterm/ttermpro.rc) - r8072 ........ switch case の break 抜け ........ Additional settings VISUALタブ表示位置調整 ........ typo fix. ........ 文字エンコーディングを修正 (UTF-8 -> CP932) ........ Additional settingsで不透明度の値に256以上を入力したとき、255に変更するようにした ........ TipWinをクラス化した - CTipWinクラスを作成した - TipWinのWM_TIMERをCTipWin::WndProcで受信するようにした - コンストラクタで作ったツールチップを使いまわせるようにした - tttypes.hに定義したツールチップ用タイマーのIDを削除した ........ Revision Links: -------------- https://osdn.net/projects/ttssh2/scm/svn/commits/8072 Modified Paths: -------------- branches/serial_port_improved/TTProxy/StdAfx.cpp branches/serial_port_improved/TTProxy/TTProxy.cpp branches/serial_port_improved/TTXSamples/CMakeLists.txt branches/serial_port_improved/TTXSamples/ttxtest/CMakeLists.txt branches/serial_port_improved/doc/en/html/about/history.html branches/serial_port_improved/doc/en/html/reference/develop.txt branches/serial_port_improved/doc/ja/html/about/history.html branches/serial_port_improved/doc/ja/html/reference/develop.txt branches/serial_port_improved/libs/buildSFMT.bat branches/serial_port_improved/teraterm/common/tipwin.cpp branches/serial_port_improved/teraterm/common/tipwin.h branches/serial_port_improved/teraterm/common/tmfc.cpp branches/serial_port_improved/teraterm/common/tmfc.h branches/serial_port_improved/teraterm/common/tttypes.h branches/serial_port_improved/teraterm/teraterm/addsetting.cpp branches/serial_port_improved/teraterm/teraterm/addsetting.h branches/serial_port_improved/teraterm/teraterm/sizetip.c branches/serial_port_improved/teraterm/teraterm/ttermpro.rc branches/serial_port_improved/teraterm/teraterm/ttermpro.v10.vcxproj branches/serial_port_improved/teraterm/teraterm/ttermpro.v11.vcxproj branches/serial_port_improved/teraterm/teraterm/ttermpro.v12.vcxproj branches/serial_port_improved/teraterm/teraterm/ttermpro.v14.vcxproj branches/serial_port_improved/teraterm/teraterm/ttermpro.v15.vcxproj branches/serial_port_improved/teraterm/teraterm/ttermpro.v16.vcxproj branches/serial_port_improved/teraterm/teraterm/ttermpro.v9.vcproj branches/serial_port_improved/teraterm/teraterm/ttermpro.vcproj branches/serial_port_improved/teraterm/teraterm/vtwin.cpp branches/serial_port_improved/teraterm/teraterm/vtwin.h Removed Paths: ------------- branches/serial_port_improved/libs/SFMT/SFMT_version_for_teraterm.h Property Changed: ---------------- branches/serial_port_improved/ branches/serial_port_improved/TTProxy/ branches/serial_port_improved/TTXSamples/ branches/serial_port_improved/libs/SFMT/ branches/serial_port_improved/teraterm/ -------------- next part -------------- Index: branches/serial_port_improved =================================================================== --- branches/serial_port_improved 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved 2019-09-14 11:04:18 UTC (rev 8145) Property changes on: branches/serial_port_improved ___________________________________________________________________ Modified: svn:mergeinfo ## -6,4 +6,5 ## /branches/ttproxy_improved:8041,8055-8056 /branches/ttssh_improved:8027,8036,8040,8044,8053-8054,8058,8060,8063,8081,8085 /branches/vs2015_warn:6194-6285 -/tags/teraterm-4_89:6182 \ No newline at end of property +/tags/teraterm-4_89:6182 +/trunk:8120-8123,8137-8139,8142-8143 \ No newline at end of property Index: branches/serial_port_improved/TTProxy =================================================================== --- branches/serial_port_improved/TTProxy 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/TTProxy 2019-09-14 11:04:18 UTC (rev 8145) Property changes on: branches/serial_port_improved/TTProxy ___________________________________________________________________ Modified: svn:mergeinfo ## -1,3 +1,4 ## /branches/ttproxy_improved/TTProxy:8041,8055-8056 /branches/ttssh_improved/TTProxy:8040 -/branches/vs2015_warn/TTProxy:6194-6285 \ No newline at end of property +/branches/vs2015_warn/TTProxy:6194-6285 +/trunk/TTProxy:8120-8123,8137-8139,8142-8143 \ No newline at end of property Modified: branches/serial_port_improved/TTProxy/StdAfx.cpp =================================================================== --- branches/serial_port_improved/TTProxy/StdAfx.cpp 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/TTProxy/StdAfx.cpp 2019-09-14 11:04:18 UTC (rev 8145) @@ -2,7 +2,7 @@ // ttx.pch \x90\xB6\x90\xAC\x82\xB3\x82\xEA\x82\xE9\x83v\x83\x8A\x83R\x83\x93\x83p\x83C\x83\x8B\x8Dσw\x83b\x83_\x81[ // stdafx.obj \x90\xB6\x90\xAC\x82\xB3\x82\xEA\x82\xE9\x83v\x83\x8A\x83R\x83\x93\x83p\x83C\x83\x8B\x8Dσ^\x83C\x83v\x8F\xEE\x95\xF1 -#include "stdafx.h" +#include "StdAfx.h" // TODO: STDAFX.H \x82Ɋ܂܂\xEA\x82Ă\xA2\x82āA\x82\xB1\x82̃t\x83@\x83C\x83\x8B\x82ɋL\x8Fq\x82\xB3\x82\xEA\x82Ă\xA2\x82Ȃ\xA2 // \x83w\x83b\x83_\x81[\x83t\x83@\x83C\x83\x8B\x82\xF0\x92lj\xC1\x82\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B Modified: branches/serial_port_improved/TTProxy/TTProxy.cpp =================================================================== --- branches/serial_port_improved/TTProxy/TTProxy.cpp 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/TTProxy/TTProxy.cpp 2019-09-14 11:04:18 UTC (rev 8145) @@ -1,7 +1,7 @@ // ttx.cpp : DLL \x83A\x83v\x83\x8A\x83P\x81[\x83V\x83\x87\x83\x93\x97p\x82̃G\x83\x93\x83g\x83\x8A \x83|\x83C\x83\x93\x83g\x82\xF0\x92\xE8\x8B`\x82\xB5\x82܂\xB7\x81B // -#include "stdafx.h" +#include "StdAfx.h" #include "resource.h" Index: branches/serial_port_improved/TTXSamples =================================================================== --- branches/serial_port_improved/TTXSamples 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/TTXSamples 2019-09-14 11:04:18 UTC (rev 8145) Property changes on: branches/serial_port_improved/TTXSamples ___________________________________________________________________ Modified: svn:mergeinfo ## -1 +1,2 ## -/branches/vs2015_warn/TTXSamples:6194-6285 \ No newline at end of property +/branches/vs2015_warn/TTXSamples:6194-6285 +/trunk/TTXSamples:8120-8123,8137-8139,8142-8143 \ No newline at end of property Modified: branches/serial_port_improved/TTXSamples/CMakeLists.txt =================================================================== --- branches/serial_port_improved/TTXSamples/CMakeLists.txt 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/TTXSamples/CMakeLists.txt 2019-09-14 11:04:18 UTC (rev 8145) @@ -35,7 +35,7 @@ add_subdirectory(TTXShowCommandLine) set_target_properties(TTXShowCommandLine PROPERTIES FOLDER TTXSamples) -add_subdirectory(TTXtest) +add_subdirectory(ttxtest) set_target_properties(TTXtest PROPERTIES FOLDER TTXSamples) add_subdirectory(TTXttyrec) Modified: branches/serial_port_improved/TTXSamples/ttxtest/CMakeLists.txt =================================================================== --- branches/serial_port_improved/TTXSamples/ttxtest/CMakeLists.txt 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/TTXSamples/ttxtest/CMakeLists.txt 2019-09-14 11:04:18 UTC (rev 8145) @@ -9,7 +9,7 @@ add_library( TTXtest SHARED - TTXtest.c + ttxtest.c ) set_target_properties( Modified: branches/serial_port_improved/doc/en/html/about/history.html =================================================================== --- branches/serial_port_improved/doc/en/html/about/history.html 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/doc/en/html/about/history.html 2019-09-14 11:04:18 UTC (rev 8145) @@ -38,7 +38,7 @@ <li>Added support for hardware flow control DSR/DTR with serial connection. <ul> <li>The hardware is renamed to RTS/CTS, and DSR/DTR is newly added on the Flow control of <a href="../menu/setup-serialport.html">Serial port ([Setup] menu)</a>.</li> - <li>MARCO: The DSR/DRT can be specified in <a href="../macro/command/setflowctrl.html">setflowctrl</a> command.</li> + <li>MARCO: The DSR/DTR can be specified in <a href="../macro/command/setflowctrl.html">setflowctrl</a> command.</li> </ul></li> <li>Added SFMT information on version dialog.</li> <li>Changed of indication from "Protocol" to "IP version" and from "UNSPEC" to "AUTO" on <a href="../menu/file-new.html">New connection dialog</a>.</li> @@ -46,6 +46,7 @@ <li>The location of resizing toolchip is automatically moved to coordinates after resizing.</li> <li>Added slider for specify the opacity values on the Visual tab of the <a href="../menu/setup-additional.html">Additional settings dialog</a>.</li> <li>Eterm look-feel: Added the <a href="../menu/setup-additional.html#MixedThemeFile">Mixed ThemeFile to Background</a> configuration. Also, added the the <a href="../setup/teraterm-ini.html#BGIgnoreThemeFile">BGIgnoreThemeFile</a> entry in the teraterm.ini file. The default value is off.</li> + <li>When the inputted over than 256 of opacity values of the <a href="../menu/setup-additional.html">Additional settings dialog</a>, change to 255.</li> <li>The <a href="../menu/setup-serialport.html">[Setup]-[Serial port]</a> dialog can be called even while TCP/IP connection.</li> <li>The title of <a href="../menu/setup-serialport.html">[Setup]-[Serial port]</a> dialog is changed from "Serial port setup" to "Serial port setup and connection".</li> <li>The detail information of COM port is added on the <a href="../menu/setup-serialport.html#Information">[Setup]-[Serial port]</a> dialog.</li> Modified: branches/serial_port_improved/doc/en/html/reference/develop.txt =================================================================== --- branches/serial_port_improved/doc/en/html/reference/develop.txt 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/doc/en/html/reference/develop.txt 2019-09-14 11:04:18 UTC (rev 8145) @@ -148,9 +148,9 @@ 5. SFMT (used by Tera Term Macro) (1) Extract SFMT source into libs/SFMT directory. - (2) Modify version information in libs/SFMT/SFMT_version_for_teraterm.h if necessary. - (3) Launch 'Visual Studio 2005 Command Prompt' batch file from start menu. - (4) Move 'libs' directory on the command prompt. And run buildSFMT.bat. + (2) Launch 'Visual Studio 2005 Command Prompt' batch file from start menu. + (3) Move 'libs' directory on the command prompt. And run buildSFMT.bat. + (4) Modify version information in libs/SFMT/SFMT_version_for_teraterm.h if necessary. * How to build Tera Term Modified: branches/serial_port_improved/doc/ja/html/about/history.html =================================================================== --- branches/serial_port_improved/doc/ja/html/about/history.html 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/doc/ja/html/about/history.html 2019-09-14 11:04:18 UTC (rev 8145) @@ -46,6 +46,7 @@ <li><a href="../menu/setup-additional.html">Additional settings\x83_\x83C\x83A\x83\x8D\x83O</a>\x82\xCCVisual\x83^\x83u\x82ŁA\x95s\x93\xA7\x96\xBE\x93x\x82\xF0\x83X\x83\x89\x83C\x83_\x81[\x82Ŏw\x92\xE8\x82ł\xAB\x82\xE9\x82悤\x82ɂ\xB5\x82\xBD\x81B</li> <li>\x83\x8A\x83T\x83C\x83Y\x92\x86\x82̏c\x89\xA1\x83T\x83C\x83Y\x83c\x81[\x83\x8B\x83`\x83b\x83v\x82̕\\x8E\xA6\x88ʒu\x82\xF0\x83\x8A\x83T\x83C\x83Y\x8C\xE3\x82̍\xC0\x95W\x82ɒǏ]\x82\xB7\x82\xE9\x82悤\x82ɂ\xB5\x82\xBD\x81B</li> <li>Eterm look-feel: <a href="../menu/setup-additional.html#MixedThemeFile">\x95ǎ\x86\x82Ɖ摜\x82\xF0\x8D\xAC\x8D\x87\x82\xB7\x82\xE9</a>\x82\xF0\x90ݒ\xE8\x82ł\xAB\x82\xE9\x82悤\x82ɂ\xB5\x82\xBD\x81Bteraterm.ini \x82\xC9 <a href="../setup/teraterm-ini.html#BGIgnoreThemeFile">BGIgnoreThemeFile</a> \x83G\x83\x93\x83g\x83\x8A\x82\xF0\x92lj\xC1\x82\xB5\x82\xBD\x81B\x83f\x83t\x83H\x83\x8B\x83g\x82\xCDoff\x81B</li> + <li><a href="../menu/setup-additional.html">Additional settings\x83_\x83C\x83A\x83\x8D\x83O</a>\x82\xCCVisual\x83^\x83u\x82ŕs\x93\xA7\x96\xBE\x93x\x82̒l\x82\xC9256\x88ȏ\xE3\x82\xF0\x93\xFC\x97͂\xB5\x82\xBD\x82Ƃ\xAB\x81A255\x82ɕύX\x82\xB7\x82\xE9\x82悤\x82ɂ\xB5\x82\xBD\x81B</li> <li>TCP/IP\x90ڑ\xB1\x92\x86\x82ɂ\xA8\x82\xA2\x82Ă\xE0<a href="../menu/setup-serialport.html">[Setup]-[Serial port]</a> \x83_\x83C\x83A\x83\x8D\x83O\x82\xF0\x8CĂяo\x82\xB9\x82\xE9\x82悤\x82ɂ\xB5\x82\xBD\x81B</li> <li><a href="../menu/setup-serialport.html">[Setup]-[Serial port]</a> \x83_\x83C\x83A\x83\x8D\x83O\x82̃^\x83C\x83g\x83\x8B\x82\xF0\x81u\x83V\x83\x8A\x83A\x83\x8B\x83|\x81[\x83g\x90ݒ\xE8\x81v\x82\xA9\x82\xE7\x81u\x83V\x83\x8A\x83A\x83\x8B\x83|\x81[\x83g\x90ݒ\xE8\x82Ɛڑ\xB1\x81v\x82ɕύX\x82\xB5\x82\xBD\x81B</li> <li><a href="../menu/setup-serialport.html#Information">[Setup]-[Serial port]</a> \x83_\x83C\x83A\x83\x8D\x83O\x82\xC9COM\x83|\x81[\x83g\x82̏ڍ\xEE\x95\xF1\x82\xF0\x92lj\xC1\x82\xB5\x82\xBD\x81B</li> Modified: branches/serial_port_improved/doc/ja/html/reference/develop.txt =================================================================== --- branches/serial_port_improved/doc/ja/html/reference/develop.txt 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/doc/ja/html/reference/develop.txt 2019-09-14 11:04:18 UTC (rev 8145) @@ -155,9 +155,9 @@ 5. SFMT (used by Tera Term Macro) (1) SFMT \x82̃\\x81[\x83X\x82\xF0 libs/SFMT \x82̒\x86\x82ɓW\x8AJ\x82\xB7\x82\xE9\x81B - (2) \x95K\x97v\x82ɉ\x9E\x82\xB6\x82\xC4 libs/SFMT/SFMT_version_for_teraterm.h \x82̃o\x81[\x83W\x83\x87\x83\x93\x94ԍ\x86\x82\xF0\x8FC\x90\xB3\x82\xB7\x82\xE9\x81B - (3) \x83X\x83^\x81[\x83g\x83\x81\x83j\x83\x85\x81[\x82\xA9\x82\xE7\x81uVisual Studio 2005 \x83R\x83}\x83\x93\x83h \x83v\x83\x8D\x83\x93\x83v\x83g\x81v\x82\xF0\x8BN\x93\xAE\x82\xB7\x82\xE9\x81B - (4) \x83R\x83}\x83\x93\x83h\x83v\x83\x8D\x83\x93\x83v\x83g\x8Fォ\x82\xE7 libs \x83f\x83B\x83\x8C\x83N\x83g\x83\x8A\x82Ɉړ\xAE\x82\xB5\x81AbuildSFMT.bat \x82\xF0\x8E\xC0\x8Ds\x82\xB7\x82\xE9\x81B + (2) \x83X\x83^\x81[\x83g\x83\x81\x83j\x83\x85\x81[\x82\xA9\x82\xE7\x81uVisual Studio 2005 \x83R\x83}\x83\x93\x83h \x83v\x83\x8D\x83\x93\x83v\x83g\x81v\x82\xF0\x8BN\x93\xAE\x82\xB7\x82\xE9\x81B + (3) \x83R\x83}\x83\x93\x83h\x83v\x83\x8D\x83\x93\x83v\x83g\x8Fォ\x82\xE7 libs \x83f\x83B\x83\x8C\x83N\x83g\x83\x8A\x82Ɉړ\xAE\x82\xB5\x81AbuildSFMT.bat \x82\xF0\x8E\xC0\x8Ds\x82\xB7\x82\xE9\x81B + (4) \x95K\x97v\x82ɉ\x9E\x82\xB6\x82\xC4 libs/SFMT/SFMT_version_for_teraterm.h \x82̃o\x81[\x83W\x83\x87\x83\x93\x94ԍ\x86\x82\xF0\x8FC\x90\xB3\x82\xB7\x82\xE9\x81B \x81\xA1 Tera Term\x82̃r\x83\x8B\x83h\x95\xFB\x96@ Index: branches/serial_port_improved/libs/SFMT =================================================================== --- branches/serial_port_improved/libs/SFMT 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/libs/SFMT 2019-09-14 11:04:18 UTC (rev 8145) Property changes on: branches/serial_port_improved/libs/SFMT ___________________________________________________________________ Modified: svn:ignore ## -1 +1,2 ## * +SFMT_version_for_teraterm.h Deleted: branches/serial_port_improved/libs/SFMT/SFMT_version_for_teraterm.h =================================================================== --- branches/serial_port_improved/libs/SFMT/SFMT_version_for_teraterm.h 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/libs/SFMT/SFMT_version_for_teraterm.h 2019-09-14 11:04:18 UTC (rev 8145) @@ -1,40 +0,0 @@ -/* - * Copyright (C) 1994-1998 T. Teranishi - * (C) 2005-2019 TeraTerm Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -#pragma once - -#ifndef SFMT_VERSION_H -#define SFMT_VERSION_H - -/* - * SFMT\x82̃o\x81[\x83W\x83\x87\x83\x93\x82\xF0\x95ύX\x82\xB7\x82\xE9\x8Fꍇ\x82͎蓮\x82ŏC\x90\xB3\x82\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B - * Please modify below definition manually when the SFMT version is changed. - */ -#define SFMT_VERSION "1.5.1" - -#endif Modified: branches/serial_port_improved/libs/buildSFMT.bat =================================================================== --- branches/serial_port_improved/libs/buildSFMT.bat 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/libs/buildSFMT.bat 2019-09-14 11:04:18 UTC (rev 8145) @@ -1,3 +1,5 @@ +SET filename=SFMT_version_for_teraterm.h + cd SFMT if exist "Makefile.msc.release" goto end_mk_release @@ -25,4 +27,16 @@ nmake /f Makefile.msc.debug nmake /f Makefile.msc.release +rem \x83o\x81[\x83W\x83\x87\x83\x93\x83t\x83@\x83C\x83\x8B\x82\xAA\x82Ȃ\xAF\x82\xEA\x82\xEC\x82\xE9 +IF EXIST %filename% (GOTO FILE_TRUE) ELSE GOTO FILE_FALSE +:FILE_TRUE +ECHO "\x83o\x81[\x83W\x83\x87\x83\x93\x83t\x83@\x83C\x83\x8B\x82\xAA\x8C\xA9\x82\xA9\x82\xE8\x82܂\xB5\x82\xBD" +GOTO END + +:FILE_FALSE +ECHO "\x83o\x81[\x83W\x83\x87\x83\x93\x83t\x83@\x83C\x83\x8B\x82\xAA\x8C\xA9\x82\xA9\x82\xE8\x82Ȃ\xA2\x82̂ŐV\x8BK\x8D쐬\x82\xB5\x82܂\xB7" +echo #define SFMT_VERSION "Unknown" > %filename% +GOTO END + +:END cd .. Index: branches/serial_port_improved/teraterm =================================================================== --- branches/serial_port_improved/teraterm 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm 2019-09-14 11:04:18 UTC (rev 8145) Property changes on: branches/serial_port_improved/teraterm ___________________________________________________________________ Modified: svn:mergeinfo ## -1,3 +1,4 ## /branches/drag_and_drop/teraterm:7130,7139,7141,7143-7147 /branches/flowctrl_dsrdtr/teraterm:7825-7827 -/branches/vs2015_warn/teraterm:6194-6285 \ No newline at end of property +/branches/vs2015_warn/teraterm:6194-6285 +/trunk/teraterm:8120-8123,8137-8139,8142-8143 \ No newline at end of property Modified: branches/serial_port_improved/teraterm/common/tipwin.cpp =================================================================== --- branches/serial_port_improved/teraterm/common/tipwin.cpp 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/common/tipwin.cpp 2019-09-14 11:04:18 UTC (rev 8145) @@ -64,7 +64,11 @@ #include "tipwin.h" -static ATOM tip_class = 0; +#ifdef _WIN64 + typedef LONG_PTR WINDOW_LONG_PTR; +#else + typedef LONG WINDOW_LONG_PTR; +#endif typedef struct tagTipWinData { HFONT tip_font; @@ -82,28 +86,28 @@ BOOL auto_destroy; } TipWin; -static void CalcStrRect(TipWin *pTipWin) +VOID CTipWin::CalcStrRect(VOID) { HDC hdc = CreateCompatibleDC(NULL); - SelectObject(hdc, pTipWin->tip_font); - pTipWin->str_rect.top = 0; - pTipWin->str_rect.left = 0; - DrawText(hdc, pTipWin->str, pTipWin->str_len, - &pTipWin->str_rect, DT_LEFT|DT_CALCRECT); + SelectObject(hdc, tWin->tip_font); + tWin->str_rect.top = 0; + tWin->str_rect.left = 0; + DrawText(hdc, tWin->str, tWin->str_len, + &tWin->str_rect, DT_LEFT|DT_CALCRECT); DeleteDC(hdc); } -static LRESULT CALLBACK SizeTipWndProc(HWND hWnd, UINT nMsg, +LRESULT CALLBACK CTipWin::WndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam) { - TipWin *pTipWin = (TipWin *)GetWindowLongPtr(hWnd, GWLP_USERDATA); + CTipWin* self = (CTipWin *)GetWindowLongPtr(hWnd, GWLP_USERDATA); switch (nMsg) { case WM_CREATE: { CREATESTRUCTA *create_st = (CREATESTRUCTA *)lParam; - pTipWin = (TipWin *)create_st->lpCreateParams; - SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR)pTipWin); - pTipWin->tip_wnd = hWnd; + self = (CTipWin *)create_st->lpCreateParams; + SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR)self); + self->tWin->tip_wnd = hWnd; break; } @@ -120,25 +124,25 @@ PAINTSTRUCT ps; hdc = BeginPaint(hWnd, &ps); - SelectObject(hdc, pTipWin->tip_font); + SelectObject(hdc, self->tWin->tip_font); SelectObject(hdc, GetStockObject(BLACK_PEN)); - hbr = CreateSolidBrush(pTipWin->tip_bg); + hbr = CreateSolidBrush(self->tWin->tip_bg); holdbr = SelectObject(hdc, hbr); GetClientRect(hWnd, &cr); Rectangle(hdc, cr.left, cr.top, cr.right, cr.bottom); - SetTextColor(hdc, pTipWin->tip_text); - SetBkColor(hdc, pTipWin->tip_bg); + SetTextColor(hdc, self->tWin->tip_text); + SetBkColor(hdc, self->tWin->tip_bg); { - RECT rect = pTipWin->str_rect; + RECT rect = self->tWin->str_rect; rect.left = rect.left + FRAME_WIDTH; rect.right = rect.right + FRAME_WIDTH; rect.top = rect.top + FRAME_WIDTH; rect.bottom = rect.bottom + FRAME_WIDTH; - DrawText(hdc, pTipWin->str, pTipWin->str_len, &rect, DT_LEFT); + DrawText(hdc, self->tWin->str, self->tWin->str_len, &rect, DT_LEFT); } SelectObject(hdc, holdbr); @@ -152,20 +156,22 @@ return HTTRANSPARENT; case WM_DESTROY: - DeleteObject(pTipWin->tip_font); - pTipWin->tip_font = NULL; + if(self->IsExists()) { + DeleteObject(self->tWin->tip_font); + self->tWin->tip_font = NULL; + } break; case WM_SETTEXT: { LPCTSTR str = (LPCTSTR) lParam; - const int str_width = pTipWin->str_rect.right - pTipWin->str_rect.left; - const int str_height = pTipWin->str_rect.bottom - pTipWin->str_rect.top; + const int str_width = self->tWin->str_rect.right - self->tWin->str_rect.left; + const int str_height = self->tWin->str_rect.bottom - self->tWin->str_rect.top; - free((void *)(pTipWin->str)); - pTipWin->str_len = _tcslen(str); - pTipWin->str = _tcsdup(str); - CalcStrRect(pTipWin); + free((void *)(self->tWin->str)); + self->tWin->str_len = _tcslen(str); + self->tWin->str = _tcsdup(str); + self->CalcStrRect(); SetWindowPos(hWnd, NULL, 0, 0, @@ -177,11 +183,17 @@ break; case WM_NCDESTROY: - if (pTipWin->auto_destroy) { - free((void *)pTipWin->str); - free(pTipWin); + if (self->IsExists() && self->tWin->auto_destroy) { + free((void *)self->tWin->str); + free(self->tWin); + delete self; } break; + case WM_TIMER: + KillTimer(hWnd, self->timerid); + self->timerid = NULL; + self->SetVisible(FALSE); + break; default: break; } @@ -189,12 +201,34 @@ return DefWindowProc(hWnd, nMsg, wParam, lParam); } -static void register_class(HINSTANCE hInst) +CTipWin::CTipWin(HWND src) { + Create(src, 0, 0, ""); + SetVisible(FALSE); +} + +CTipWin::CTipWin(HWND src, int cx, int cy, const TCHAR *str) +{ + Create(src, cx, cy, str); + SetVisible(TRUE); +} + +CTipWin::~CTipWin() +{ + Destroy(); +} + +ATOM CTipWin::tip_class; + +VOID CTipWin::Create(HWND src, int cx, int cy, const TCHAR *str) +{ + const HINSTANCE hInst = (HINSTANCE)GetWindowLongPtr(src, GWLP_HINSTANCE); + LOGFONTA logfont; + const UINT uDpi = GetMonitorDpiFromWindow(src); + if (!tip_class) { - WNDCLASS wc; wc.style = CS_HREDRAW | CS_VREDRAW; - wc.lpfnWndProc = SizeTipWndProc; + wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInst; @@ -202,64 +236,124 @@ wc.hCursor = NULL; wc.hbrBackground = NULL; wc.lpszMenuName = NULL; - wc.lpszClassName = _T("SizeTipClass"); + wc.lpszClassName = _T("TipWinClass"); tip_class = RegisterClass(&wc); } -} -/* Create the tip window */ -static void create_tipwin(TipWin *pTipWin, HINSTANCE hInst, int cx, int cy) -{ - const TCHAR *str = pTipWin->str; - HWND hParnetWnd = pTipWin->hParentWnd; - const int str_width = pTipWin->str_rect.right - pTipWin->str_rect.left; - const int str_height = pTipWin->str_rect.bottom - pTipWin->str_rect.top; - pTipWin->tip_wnd = + tWin = (TipWin *)malloc(sizeof(TipWin)); + if (tWin == NULL) return; + tWin->str_len = _tcslen(str); + tWin->str = _tcsdup(str); + tWin->px = cx; + tWin->py = cy; + tWin->tip_bg = GetSysColor(COLOR_INFOBK); + tWin->tip_text = GetSysColor(COLOR_INFOTEXT); + GetMessageboxFont(&logfont); + logfont.lfWidth = MulDiv(logfont.lfWidth, uDpi, 96); + logfont.lfHeight = MulDiv(logfont.lfHeight, uDpi, 96); + tWin->tip_font = CreateFontIndirect(&logfont); + CalcStrRect(); + + const int str_width = tWin->str_rect.right - tWin->str_rect.left; + const int str_height = tWin->str_rect.bottom - tWin->str_rect.top; + tWin->tip_wnd = CreateWindowEx(WS_EX_TOOLWINDOW | WS_EX_TOPMOST, MAKEINTRESOURCE(tip_class), str, WS_POPUP, cx, cy, str_width + FRAME_WIDTH * 2, str_height + FRAME_WIDTH * 2, - hParnetWnd, NULL, hInst, pTipWin); - + src, NULL, hInst, this); + /* * WindowsMe(9x)\x82ł́ASSH\x94F\x8F̃_\x83C\x83A\x83\x8D\x83O\x82̕\\x8E\xA6\x82ł\xCD NULL \x82\xAA\x95Ԃ\xC1\x82Ă\xAD\x82邽\x82߁A * \x83A\x83T\x81[\x83V\x83\x87\x83\x93\x82\xF0\x82\xB5\x82Ȃ\xA2\x82悤\x82ɂ\xB5\x82\xBD\x81BTera Term\x82̃\x8A\x83T\x83C\x83Y\x82ł\xCD NULL \x82ł͂Ȃ\xA2\x82\xAA\x81A * \x83c\x81[\x83\x8B\x83`\x83b\x83v\x82\xAA\x95`\x89悳\x82\xEA\x82Ȃ\xA2\x81B */ + + tWin->hParentWnd = src; + tWin->auto_destroy = TRUE; + + pts.x = cx; + pts.y = cy; + timerid = NULL; } -TipWin *TipWinCreate(HWND src, int cx, int cy, const TCHAR *str) +VOID CTipWin::GetTextWidthHeight(HWND src, const TCHAR *str, int *width, int *height) { - TipWin *pTipWin; - const HINSTANCE hInst = (HINSTANCE)GetWindowLongPtr(src, GWLP_HINSTANCE); - LOGFONTA logfont; - const UINT uDpi = GetMonitorDpiFromWindow(src); + TipWinGetTextWidthHeight(src, str, width, height); +} - register_class(hInst); - pTipWin = (TipWin *)malloc(sizeof(TipWin)); - if (pTipWin == NULL) return NULL; - pTipWin->str_len = _tcslen(str); - pTipWin->str = _tcsdup(str); - pTipWin->px = cx; - pTipWin->py = cy; - pTipWin->tip_bg = GetSysColor(COLOR_INFOBK); - pTipWin->tip_text = GetSysColor(COLOR_INFOTEXT); - GetMessageboxFont(&logfont); - logfont.lfWidth = MulDiv(logfont.lfWidth, uDpi, 96); - logfont.lfHeight = MulDiv(logfont.lfHeight, uDpi, 96); - pTipWin->tip_font = CreateFontIndirect(&logfont); - CalcStrRect(pTipWin); - pTipWin->hParentWnd = src; - create_tipwin(pTipWin, hInst, cx, cy); +POINT CTipWin::GetPos(void) +{ + return pts; +} - pTipWin->hParentWnd = src; - pTipWin->auto_destroy = TRUE; - ShowWindow(pTipWin->tip_wnd, SW_SHOWNOACTIVATE); - return pTipWin; +VOID CTipWin::SetPos(int x, int y) +{ + if(IsExists()) { + pts.x = x; + pts.y = y; + SetWindowPos(tWin->tip_wnd, 0, x, y, 0, 0, SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE); + + } } +VOID CTipWin::SetText(TCHAR *str) +{ + if(IsExists()) { + SetWindowText(tWin->tip_wnd, str); + // \x83c\x81[\x83\x8B\x83`\x83b\x83v\x82̃e\x83L\x83X\x83g\x82ƃE\x83B\x83\x93\x83h\x83E\x82̕`\x89揇\x82̊W\x82Ńe\x83L\x83X\x83g\x82\xF02\x93x\x95`\x89悵\x82ăc\x81[\x83\x8B\x83`\x83b\x83v\x83E\x83B\x83\x93\x83h\x83E\x82\xF0\x83\x8A\x83T\x83C\x83Y\x82\xB7\x82\xE9 + SetWindowText(tWin->tip_wnd, str); + } +} + +VOID CTipWin::Destroy(void) +{ + if(IsExists()) { + DestroyWindow(tWin->tip_wnd); + } +} + +VOID CTipWin::SetHideTimer(int ms) +{ + if(IsExists()) { + HWND hWnd = tWin->tip_wnd; + timerid = SetTimer(hWnd, NULL, ms, NULL); + } +} + +BOOL CTipWin::IsExists(void) +{ + return (tWin != NULL); +} + +VOID CTipWin::SetVisible(BOOL bVisible) +{ + int visible = (bVisible) ? SW_SHOWNOACTIVATE : SW_HIDE; + if(IsExists()) { + HWND hWnd = tWin->tip_wnd; + if(IsWindowVisible(hWnd) != bVisible) { + ShowWindow(hWnd, visible); + } + } +} + +BOOL CTipWin::IsVisible(void) +{ + if(IsExists()) { + HWND hWnd = tWin->tip_wnd; + return (BOOL)IsWindowVisible(hWnd); + } + return FALSE; +} + +TipWin* TipWinCreate(HWND src, int cx, int cy, const TCHAR *str) +{ + CTipWin* tipwin = new CTipWin(src, cx, cy, str); + return (TipWin*)tipwin; +} + /* * \x95\xB6\x8E\x9A\x97\xF1\x82\xF0\x83c\x81[\x83\x8B\x83`\x83b\x83v\x82ɕ`\x89悵\x82\xBD\x8E\x9E\x82̉\xA1\x82Əc\x82̃T\x83C\x83Y\x82\xF0\x8E擾\x82\xB7\x82\xE9\x81B * @@ -307,25 +401,30 @@ void TipWinSetPos(TipWin *tWin, int x, int y) { - if (tWin != NULL) { - HWND tip_wnd = tWin->tip_wnd; - SetWindowPos(tip_wnd, 0, x, y, 0, 0, SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE); - } + CTipWin* tipwin = (CTipWin*) tWin; + tipwin->SetPos(x, y); } -void TipWinSetText(TipWin *tWin, TCHAR *text) +void TipWinSetText(TipWin* tWin, TCHAR *str) { - if (tWin != NULL) { - HWND tip_wnd = tWin->tip_wnd; - SetWindowText(tip_wnd, text); - } + CTipWin* tipwin = (CTipWin*) tWin; + tipwin->SetText(str); } -void TipWinDestroy(TipWin *tWin) +void TipWinDestroy(TipWin* tWin) { - if (tWin != NULL) { - HWND tip_wnd = tWin->tip_wnd; - DestroyWindow(tip_wnd); - } + CTipWin* tipwin = (CTipWin*) tWin; + tipwin->Destroy(); } +void TipWinSetVisible(TipWin* tWin, int bVisible) +{ + CTipWin* tipwin = (CTipWin*) tWin; + tipwin->SetVisible(bVisible); +} + +int TipWinIsVisible(TipWin* tWin) +{ + CTipWin* tipwin = (CTipWin*) tWin; + return (int)tipwin->IsVisible(); +} Modified: branches/serial_port_improved/teraterm/common/tipwin.h =================================================================== --- branches/serial_port_improved/teraterm/common/tipwin.h 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/common/tipwin.h 2019-09-14 11:04:18 UTC (rev 8145) @@ -1,4 +1,5 @@ - +#ifndef _H_TIPWIN +#define _H_TIPWIN #include <windows.h> #include <tchar.h> @@ -15,7 +16,40 @@ void TipWinDestroy(TipWin *tWin); void TipWinGetTextWidthHeight(HWND src, const TCHAR *str, int *width, int *height); void TipWinSetPos(TipWin *tWin, int x, int y); +void TipWinSetShow(TipWin *tWin); +void TipWinSetHide(TipWin *tWin); +void TipWinSetHideTimer(TipWin *tWin, int ms); +int TipWinIsVisible(TipWin *tWin); #ifdef __cplusplus } #endif + +#ifdef __cplusplus +class CTipWin +{ +public: + CTipWin(HWND hWnd, int x, int y, const TCHAR *str); + CTipWin(HWND hWnd); + ~CTipWin(VOID); + VOID SetText(TCHAR *str); + VOID Destroy(VOID); + VOID GetTextWidthHeight(HWND src, const TCHAR *str, int *width, int *height); + POINT GetPos(VOID); + VOID SetPos(int x, int y); + VOID SetHideTimer(int ms); + VOID Create(HWND src, int x, int y, const TCHAR *str); + BOOL IsExists(VOID); + VOID SetVisible(BOOL bVisible); + BOOL IsVisible(); +private: + POINT pts; + UINT timerid; + TipWin* tWin; + WNDCLASS wc; + static ATOM tip_class; + static LRESULT CALLBACK WndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam); + VOID CalcStrRect(VOID); +}; +#endif +#endif \ No newline at end of file Modified: branches/serial_port_improved/teraterm/common/tmfc.cpp =================================================================== --- branches/serial_port_improved/teraterm/common/tmfc.cpp 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/common/tmfc.cpp 2019-09-14 11:04:18 UTC (rev 8145) @@ -673,10 +673,6 @@ { } -void TTCPropertyPage::OnTimer(UINT_PTR nIDEvent) -{ -} - HBRUSH TTCPropertyPage::OnCtlColor(HDC hDC, HWND hWnd) { return (HBRUSH)::DefWindowProc(m_hWnd, WM_CTLCOLORSTATIC, (WPARAM)hDC, (LPARAM)hWnd); @@ -726,9 +722,6 @@ case WM_HSCROLL: self->OnHScroll(LOWORD(wp), HIWORD(wp), (HWND)lp); break; - case WM_TIMER: - self->OnTimer(LOWORD(wp)); - break; } return FALSE; } Modified: branches/serial_port_improved/teraterm/common/tmfc.h =================================================================== --- branches/serial_port_improved/teraterm/common/tmfc.h 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/common/tmfc.h 2019-09-14 11:04:18 UTC (rev 8145) @@ -177,7 +177,6 @@ virtual void OnInitDialog(); virtual void OnOK(); virtual void OnHScroll(UINT nSBCode, UINT nPos, HWND pScrollBar); - virtual void OnTimer(UINT_PTR nIDEvent); virtual BOOL OnCommand(WPARAM wp, LPARAM lp); virtual HBRUSH OnCtlColor(HDC hDC, HWND hWnd); virtual void OnHelp(); Modified: branches/serial_port_improved/teraterm/common/tttypes.h =================================================================== --- branches/serial_port_improved/teraterm/common/tttypes.h 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/common/tttypes.h 2019-09-14 11:04:18 UTC (rev 8145) @@ -45,7 +45,6 @@ #define IdPrnProcTimer 9 #define IdCancelConnectTimer 10 // add (2007.1.10 yutaka) #define IdPasteDelayTimer 11 -#define IdOpacityTipTimer 12 // add (2019.9.7 yasuhide) /* Window Id */ #define IdVT 1 Modified: branches/serial_port_improved/teraterm/teraterm/addsetting.cpp =================================================================== --- branches/serial_port_improved/teraterm/teraterm/addsetting.cpp 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/addsetting.cpp 2019-09-14 11:04:18 UTC (rev 8145) @@ -50,7 +50,7 @@ #include "helpid.h" #include "addsetting.h" -#include "TipWin.h" +#include "tipwin.h" #ifdef _DEBUG #define free(p) _free_dbg((p), _NORMAL_BLOCK) @@ -73,9 +73,6 @@ }; #define MOUSE_CURSOR_MAX (sizeof(MouseCursor)/sizeof(MouseCursor[0]) - 1) -static TipWin *ActiveOpacityTip; -static TipWin *InactiveOpacityTip; - void CVisualPropPageDlg::SetupRGBbox(int index) { BYTE c; @@ -638,22 +635,17 @@ _T("Visual"), ts.UILanguageFile); m_psp.pszTitle = _tcsdup(UIMsg); m_psp.dwFlags |= (PSP_USETITLE | PSP_HASHELP); + TipWin = new CTipWin(m_hWnd); } CVisualPropPageDlg::~CVisualPropPageDlg() { free((void *)m_psp.pszTitle); + TipWin->Destroy(); } // CVisualPropPageDlg \x83\x81\x83b\x83Z\x81[\x83W \x83n\x83\x93\x83h\x83\x89 -static void DestroyOpacityTip(TipWin** OpacityTip) { - if (*OpacityTip) { - TipWinDestroy(*OpacityTip); - (*OpacityTip) = NULL; - } -} - void CVisualPropPageDlg::OnInitDialog() { char buf[MAXPATHLEN]; @@ -701,15 +693,15 @@ // (1)AlphaBlend SetDlgItemNum(IDC_ALPHA_BLEND_ACTIVE, ts.AlphaBlendActive); - DestroyOpacityTip(&ActiveOpacityTip); SendDlgItemMessage(IDC_ALPHA_BLEND_ACTIVE_TRACKBAR, TBM_SETRANGE, TRUE, MAKELPARAM(0, 255)); SendDlgItemMessage(IDC_ALPHA_BLEND_ACTIVE_TRACKBAR, TBM_SETPOS, TRUE, ts.AlphaBlendActive); SetDlgItemNum(IDC_ALPHA_BLEND_INACTIVE, ts.AlphaBlendInactive); - DestroyOpacityTip(&InactiveOpacityTip); SendDlgItemMessage(IDC_ALPHA_BLEND_INACTIVE_TRACKBAR, TBM_SETRANGE, TRUE, MAKELPARAM(0, 255)); SendDlgItemMessage(IDC_ALPHA_BLEND_INACTIVE_TRACKBAR, TBM_SETPOS, TRUE, ts.AlphaBlendInactive); + TipWin->SetVisible(FALSE); + // (2)[BG] BGEnable SetCheck(IDC_ETERM_LOOKFEEL, ts.EtermLookfeel.BGEnable); @@ -996,6 +988,14 @@ { int pos; pos = GetDlgItemInt(IDC_ALPHA_BLEND_ACTIVE); + if(pos < 0) { + pos = 0; + SetDlgItemNum(IDC_ALPHA_BLEND_ACTIVE, pos); + } + else if(pos > 255) { + pos = 255; + SetDlgItemNum(IDC_ALPHA_BLEND_ACTIVE, pos); + } SendDlgItemMessage(IDC_ALPHA_BLEND_ACTIVE_TRACKBAR, TBM_SETPOS, TRUE, pos); TCHAR tipbuf[32]; @@ -1004,17 +1004,13 @@ get_lang_msg("TOOLTIP_TITLEBAR_OPACITY", uimsg, sizeof(uimsg), "Opacity %.1f %%", ts.UILanguageFile); _stprintf_s(tipbuf, _countof(tipbuf), _T(uimsg), (pos / 255.0) * 100); - DestroyOpacityTip(&InactiveOpacityTip); - SetTimer(GetSafeHwnd(), IdOpacityTipTimer, 1000, NULL); ::GetWindowRect(GetDlgItem(IDC_ALPHA_BLEND_ACTIVE), &rc); - if (ActiveOpacityTip == NULL) { - ActiveOpacityTip = TipWinCreate(GetDlgItem(IDC_ALPHA_BLEND_ACTIVE), rc.right, rc.bottom, tipbuf); + TipWin->SetText(tipbuf); + TipWin->SetPos(rc.right, rc.bottom); + TipWin->SetHideTimer(1000); + if (! TipWin->IsVisible()) { + TipWin->SetVisible(TRUE); } - else { - TipWinSetText(ActiveOpacityTip, tipbuf); - // \x83c\x81[\x83\x8B\x83`\x83b\x83v\x82̃\x8A\x83T\x83C\x83Y\x82\xAA\x8E\xB8\x94s\x82\xB5\x82\xBD\x82悤\x82Ɍ\xA9\x82\xA6\x82\xE9\x96\xE2\x91\xE8\x82̎b\x92\xE8\x91\xF4 - TipWinSetText(ActiveOpacityTip, tipbuf); - } return TRUE; } case IDC_ALPHA_BLEND_INACTIVE | (EN_CHANGE << 16): @@ -1021,6 +1017,14 @@ { int pos; pos = GetDlgItemInt(IDC_ALPHA_BLEND_INACTIVE); + if(pos < 0) { + pos = 0; + SetDlgItemNum(IDC_ALPHA_BLEND_INACTIVE, pos); + } + else if(pos > 255) { + pos = 255; + SetDlgItemNum(IDC_ALPHA_BLEND_INACTIVE, pos); + } SendDlgItemMessage(IDC_ALPHA_BLEND_INACTIVE_TRACKBAR, TBM_SETPOS, TRUE, pos); TCHAR tipbuf[32], uimsg[MAX_UIMSG]; @@ -1028,17 +1032,13 @@ get_lang_msg("TOOLTIP_TITLEBAR_OPACITY", uimsg, sizeof(uimsg), "Opacity %.1f %%", ts.UILanguageFile); _stprintf_s(tipbuf, _countof(tipbuf), _T(uimsg), (pos / 255.0) * 100); - DestroyOpacityTip(&ActiveOpacityTip); - SetTimer(GetSafeHwnd(), IdOpacityTipTimer, 1000, NULL); ::GetWindowRect(GetDlgItem(IDC_ALPHA_BLEND_INACTIVE), &rc); - if (InactiveOpacityTip == NULL) { - InactiveOpacityTip = TipWinCreate(GetDlgItem(IDC_ALPHA_BLEND_INACTIVE), rc.right, rc.bottom, tipbuf); + TipWin->SetText(tipbuf); + TipWin->SetPos(rc.right, rc.bottom); + TipWin->SetHideTimer(1000); + if (! TipWin->IsVisible()) { + TipWin->SetVisible(TRUE); } - else { - TipWinSetText(InactiveOpacityTip, tipbuf); - // \x83c\x81[\x83\x8B\x83`\x83b\x83v\x82̃\x8A\x83T\x83C\x83Y\x82\xAA\x8E\xB8\x94s\x82\xB5\x82\xBD\x82悤\x82Ɍ\xA9\x82\xA6\x82\xE9\x96\xE2\x91\xE8\x82̎b\x92\xE8\x91\xF4 - TipWinSetText(InactiveOpacityTip, tipbuf); - } return TRUE; } } @@ -1046,18 +1046,6 @@ return TTCPropertyPage::OnCommand(wParam, lParam); } - -void CVisualPropPageDlg::OnTimer(UINT_PTR nIDEvent) -{ - KillTimer(GetSafeHwnd(), nIDEvent); - switch (nIDEvent) { - case IdOpacityTipTimer: - DestroyOpacityTip(&ActiveOpacityTip); - DestroyOpacityTip(&InactiveOpacityTip); - break; - } -} - HBRUSH CVisualPropPageDlg::OnCtlColor(HDC hDC, HWND hWnd) { if ( hWnd == GetDlgItem(IDC_SAMPLE_COLOR) ) { Modified: branches/serial_port_improved/teraterm/teraterm/addsetting.h =================================================================== --- branches/serial_port_improved/teraterm/teraterm/addsetting.h 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/addsetting.h 2019-09-14 11:04:18 UTC (rev 8145) @@ -31,6 +31,7 @@ #include "tmfc.h" #include "tt_res.h" #include "teraterm.h" +#include "tipwin.h" typedef struct { const char *name; @@ -93,9 +94,9 @@ enum { IDD = IDD_TABSHEET_VISUAL }; BOOL OnCommand(WPARAM wParam, LPARAM lParam); void OnHScroll(UINT nSBCode, UINT nPos, HWND pScrollBar); - void OnTimer(UINT_PTR nIDEvent); void SetupRGBbox(int index); void OnHelp(); + CTipWin* TipWin; }; // Log Page Modified: branches/serial_port_improved/teraterm/teraterm/sizetip.c =================================================================== --- branches/serial_port_improved/teraterm/teraterm/sizetip.c 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/sizetip.c 2019-09-14 11:04:18 UTC (rev 8145) @@ -1,4 +1,4 @@ -/* +/* * Copyright (C) 2008-2019 TeraTerm Project * All rights reserved. * @@ -36,27 +36,27 @@ #include <stdio.h> #include <tchar.h> -#include "TipWin.h" +#include "tipwin.h" static TipWin *SizeTip; static int tip_enabled = 0; -/** - * point を - * スクリーンからはみ出している場合、入るように補正する - * NearestMonitor が TRUE のとき、最も近いモニタ - * FALSEのとき、マウスのあるモニタに移動させる - * ディスプレイの端から FrameWidth(pixel) より離れるようにする +/* + * point \x82\xF0 + * \x83X\x83N\x83\x8A\x81[\x83\x93\x82\xA9\x82\xE7\x82͂ݏo\x82\xB5\x82Ă\xA2\x82\xE9\x8Fꍇ\x81A\x93\xFC\x82\xE9\x82悤\x82ɕ\x82\xB7\x82\xE9 + * NearestMonitor \x82\xAA TRUE \x82̂Ƃ\xAB\x81A\x8Dł\xE0\x8B߂\xA2\x83\x82\x83j\x83^ + * FALSE\x82̂Ƃ\xAB\x81A\x83}\x83E\x83X\x82̂\xA0\x82郂\x83j\x83^\x82Ɉړ\xAE\x82\xB3\x82\xB9\x82\xE9 + * \x83f\x83B\x83X\x83v\x83\x8C\x83C\x82̒[\x82\xA9\x82\xE7 FrameWidth(pixel) \x82\xE6\x82藣\x82\xEA\x82\xE9\x82悤\x82ɂ\xB7\x82\xE9 */ static void FixPosFromFrame(POINT *point, int FrameWidth, BOOL NearestMonitor) { if (HasMultiMonitorSupport()) { - // マルチモニタがサポートされている場合 + // \x83}\x83\x8B\x83`\x83\x82\x83j\x83^\x82\xAA\x83T\x83|\x81[\x83g\x82\xB3\x82\xEA\x82Ă\xA2\x82\xE9\x8Fꍇ HMONITOR hm; MONITORINFO mi; int ix, iy; - // 元の座標を保存しておく + // \x8C\xB3\x82̍\xC0\x95W\x82\xF0\x95ۑ\xB6\x82\xB5\x82Ă\xA8\x82\xAD ix = point->x; iy = point->y; @@ -63,10 +63,10 @@ hm = MonitorFromPoint(*point, MONITOR_DEFAULTTONULL); if (hm == NULL) { if (NearestMonitor) { - // 最も近いモニタに表示する + // \x8Dł\xE0\x8B߂\xA2\x83\x82\x83j\x83^\x82ɕ\\x8E\xA6\x82\xB7\x82\xE9 hm = MonitorFromPoint(*point, MONITOR_DEFAULTTONEAREST); } else { - // スクリーンからはみ出している場合はマウスのあるモニタに表示する + // \x83X\x83N\x83\x8A\x81[\x83\x93\x82\xA9\x82\xE7\x82͂ݏo\x82\xB5\x82Ă\xA2\x82\xE9\x8Fꍇ\x82̓}\x83E\x83X\x82̂\xA0\x82郂\x83j\x83^\x82ɕ\\x8E\xA6\x82\xB7\x82\xE9 GetCursorPos(point); hm = MonitorFromPoint(*point, MONITOR_DEFAULTTONEAREST); } @@ -86,7 +86,7 @@ } else { - // マルチモニタがサポートされていない場合 + // \x83}\x83\x8B\x83`\x83\x82\x83j\x83^\x82\xAA\x83T\x83|\x81[\x83g\x82\xB3\x82\xEA\x82Ă\xA2\x82Ȃ\xA2\x8Fꍇ if (point->x < FrameWidth) { point->x = FrameWidth; } @@ -96,15 +96,15 @@ } } -/* リサイズ用ツールチップを表示する +/* \x83\x8A\x83T\x83C\x83Y\x97p\x83c\x81[\x83\x8B\x83`\x83b\x83v\x82\xF0\x95\\x8E\xA6\x82\xB7\x82\xE9 * - * 引数: - * src ウィンドウハンドル - * cx, cy ツールチップに表示する縦横サイズ - * fwSide リサイズ時にどこのウィンドウを掴んだか - * newX, newY リサイズ後の左上の座標 + * \x88\xF8\x90\x94\x81F + * src \x83E\x83B\x83\x93\x83h\x83E\x83n\x83\x93\x83h\x83\x8B + * cx, cy \x83c\x81[\x83\x8B\x83`\x83b\x83v\x82ɕ\\x8E\xA6\x82\xB7\x82\xE9\x8Fc\x89\xA1\x83T\x83C\x83Y + * fwSide \x83\x8A\x83T\x83C\x83Y\x8E\x9E\x82ɂǂ\xB1\x82̃E\x83B\x83\x93\x83h\x83E\x82\xF0\x92͂\xA9 + * newX, newY \x83\x8A\x83T\x83C\x83Y\x8C\xE3\x82̍\xB6\x8F\xE3\x82̍\xC0\x95W * - * 注意: Windows9x では動作しない + * \x92\x8D\x88ӁF Windows9x \x82ł͓\xAE\x8D삵\x82Ȃ\xA2 */ void UpdateSizeTip(HWND src, int cx, int cy, UINT fwSide, int newX, int newY) { @@ -117,8 +117,8 @@ /* Generate the tip text */ _stprintf_s(str, _countof(str), _T("%dx%d"), cx, cy); - // ウィンドウの右、右下、下を掴んだ場合は、ツールチップを左上隅に配置する。 - // それら以外はリサイズ後の左上隅に配置する。 + // \x83E\x83B\x83\x93\x83h\x83E\x82̉E\x81A\x89E\x89\xBA\x81A\x89\xBA\x82\xF0\x92͂ꍇ\x82́A\x83c\x81[\x83\x8B\x83`\x83b\x83v\x82\xF0\x8D\xB6\x8F\xE3\x8B\xF7\x82ɔz\x92u\x82\xB7\x82\xE9\x81B + // \x82\xBB\x82\xEA\x82\xE7\x88ȊO\x82̓\x8A\x83T\x83C\x83Y\x8C\xE3\x82̍\xB6\x8F\xE3\x8B\xF7\x82ɔz\x92u\x82\xB7\x82\xE9\x81B if (!(fwSide == WMSZ_RIGHT || fwSide == WMSZ_BOTTOMRIGHT || fwSide == WMSZ_BOTTOM)) { tooltip_movable = 1; } @@ -128,14 +128,14 @@ POINT point; int w, h; - // 文字列の縦横サイズを取得する + // \x95\xB6\x8E\x9A\x97\xF1\x82̏c\x89\xA1\x83T\x83C\x83Y\x82\xF0\x8E擾\x82\xB7\x82\xE9 TipWinGetTextWidthHeight(src, str, &w, &h); - // ウィンドウの位置を取得 + // \x83E\x83B\x83\x93\x83h\x83E\x82̈ʒu\x82\xF0\x8E擾 GetWindowRect(src, &wr); - // sizetipを出す位置は、ウィンドウ左上(X, Y)に対して、 - // (X, Y - 文字列の高さ - FRAME_WIDTH * 2) とする。 + // sizetip\x82\xF0\x8Fo\x82\xB7\x88ʒu\x82́A\x83E\x83B\x83\x93\x83h\x83E\x8D\xB6\x8F\xE3(X, Y)\x82ɑ\xB5\x82āA + // (X, Y - \x95\xB6\x8E\x9A\x97\xF1\x82̍\x82\x82\xB3 - FRAME_WIDTH * 2) \x82Ƃ\xB7\x82\xE9\x81B point.x = wr.left; point.y = wr.top - (h + FRAME_WIDTH * 2); FixPosFromFrame(&point, 16, FALSE); @@ -153,7 +153,7 @@ //OutputDebugPrintf("Updated: (%d,%d)\n", cx, cy); - // ウィンドウの左上が移動する場合 + // \x83E\x83B\x83\x93\x83h\x83E\x82̍\xB6\x8Fオ\x88ړ\xAE\x82\xB7\x82\xE9\x8Fꍇ if (tooltip_movable) { TipWinSetPos(SizeTip, newX + FRAME_WIDTH*2, newY + FRAME_WIDTH*2); //OutputDebugPrintf("Moved: (%d,%d)\n", newX, newY); Modified: branches/serial_port_improved/teraterm/teraterm/ttermpro.rc =================================================================== --- branches/serial_port_improved/teraterm/teraterm/ttermpro.rc 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/ttermpro.rc 2019-09-14 11:04:18 UTC (rev 8145) @@ -1,6 +1,6 @@ // Microsoft Visual C++ generated resource script. // -#include "..\common\tt_res.h" +#include "../common/tt_res.h" #define APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// @@ -151,12 +151,12 @@ FONT 8, "Tahoma", 0, 0, 0x0 BEGIN LTEXT "Window Opacity",IDC_ALPHABLEND,5,5,78,8 - LTEXT "&Active",IDC_ALPHA_BLEND_ACTIVE_LABEL,7,17,60,8 + LTEXT "&Active",IDC_ALPHA_BLEND_ACTIVE_LABEL,7,17,60,12 EDITTEXT IDC_ALPHA_BLEND_ACTIVE,69,16,19,12,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "", IDC_ALPHA_BLEND_ACTIVE_TRACKBAR, "msctls_trackbar32", WS_TABSTOP | TBS_BOTH | TBS_NOTICKS, 4, 27, 89, 12 - LTEXT "Ina&ctive",IDC_ALPHA_BLEND_INACTIVE_LABEL,7,41,60,8 - EDITTEXT IDC_ALPHA_BLEND_INACTIVE,69,40,19,12,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "", IDC_ALPHA_BLEND_INACTIVE_TRACKBAR, "msctls_trackbar32", WS_TABSTOP | TBS_BOTH | TBS_NOTICKS, 4, 51, 89, 12 + CONTROL "", IDC_ALPHA_BLEND_ACTIVE_TRACKBAR, "msctls_trackbar32", WS_TABSTOP | TBS_BOTH | TBS_NOTICKS, 4, 30, 89, 12 + LTEXT "Ina&ctive",IDC_ALPHA_BLEND_INACTIVE_LABEL,7,45,60,12 + EDITTEXT IDC_ALPHA_BLEND_INACTIVE,69,44,19,12,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "", IDC_ALPHA_BLEND_INACTIVE_TRACKBAR, "msctls_trackbar32", WS_TABSTOP | TBS_BOTH | TBS_NOTICKS, 4, 58, 89, 12 GROUPBOX "",IDC_STATIC,97,2,155,70 CONTROL "&Eterm lookfeel(*)",IDC_ETERM_LOOKFEEL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,99,8,66,12 CONTROL "Mixed &ThemeFile to Background",IDC_MIXED_THEME_FILE, @@ -166,12 +166,12 @@ CONTROL "Background &Image",IDC_BGIMG_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,103,40,73,10 EDITTEXT IDC_BGIMG_EDIT,103,51,108,14,ES_AUTOHSCROLL PUSHBUTTON "...",IDC_BGIMG_BUTTON,217,51,14,14 - LTEXT "&Mouse cursor",IDC_MOUSE,5,67,70,8 - COMBOBOX IDC_MOUSE_CURSOR,13,76,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "&Font Quality",IDC_FONT_QUALITY_LABEL,102,78,61,8 - COMBOBOX IDC_FONT_QUALITY,167,76,80,52,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "AN&SI color",IDC_ANSICOLOR,5,94,43,8 - LISTBOX IDC_ANSI_COLOR,15,105,28,51,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + LTEXT "&Mouse cursor",IDC_MOUSE,5,72,70,8 + COMBOBOX IDC_MOUSE_CURSOR,13,81,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "&Font Quality",IDC_FONT_QUALITY_LABEL,102,82,61,12 + COMBOBOX IDC_FONT_QUALITY,167,81,80,52,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "AN&SI color",IDC_ANSICOLOR,5,95,43,8 + LISTBOX IDC_ANSI_COLOR,15,106,28,51,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP LTEXT "&Red",IDC_RED,45,108,22,8 EDITTEXT IDC_COLOR_RED,69,106,19,14,ES_AUTOHSCROLL | ES_NUMBER LTEXT "&Green",IDC_GREEN,45,125,22,8 @@ -467,7 +467,7 @@ 1 TEXTINCLUDE BEGIN - "..\\common\\tt_res.h\0" + "../common/tt_res.h\0" END 2 TEXTINCLUDE Modified: branches/serial_port_improved/teraterm/teraterm/ttermpro.v10.vcxproj =================================================================== --- branches/serial_port_improved/teraterm/teraterm/ttermpro.v10.vcxproj 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/ttermpro.v10.vcxproj 2019-09-14 11:04:18 UTC (rev 8145) @@ -205,6 +205,7 @@ <ClInclude Include="..\common\dlglib.h" /> <ClInclude Include="..\common\tektypes.h" /> <ClInclude Include="..\common\teraterm.h" /> + <ClInclude Include="..\common\tipwin.h" /> <ClInclude Include="..\common\tmfc.h" /> <ClInclude Include="..\common\tt-version.h" /> <ClInclude Include="..\common\ttcommon.h" /> Modified: branches/serial_port_improved/teraterm/teraterm/ttermpro.v11.vcxproj =================================================================== --- branches/serial_port_improved/teraterm/teraterm/ttermpro.v11.vcxproj 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/ttermpro.v11.vcxproj 2019-09-14 11:04:18 UTC (rev 8145) @@ -202,6 +202,7 @@ <ClInclude Include="..\common\dlglib.h" /> <ClInclude Include="..\common\tektypes.h" /> <ClInclude Include="..\common\teraterm.h" /> + <ClInclude Include="..\common\tipwin.h" /> <ClInclude Include="..\common\tmfc.h" /> <ClInclude Include="..\common\tt-version.h" /> <ClInclude Include="..\common\ttcommon.h" /> Modified: branches/serial_port_improved/teraterm/teraterm/ttermpro.v12.vcxproj =================================================================== --- branches/serial_port_improved/teraterm/teraterm/ttermpro.v12.vcxproj 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/ttermpro.v12.vcxproj 2019-09-14 11:04:18 UTC (rev 8145) @@ -202,6 +202,7 @@ <ClInclude Include="..\common\dlglib.h" /> <ClInclude Include="..\common\tektypes.h" /> <ClInclude Include="..\common\teraterm.h" /> + <ClInclude Include="..\common\tipwin.h" /> <ClInclude Include="..\common\tmfc.h" /> <ClInclude Include="..\common\tt-version.h" /> <ClInclude Include="..\common\ttcommon.h" /> @@ -272,4 +273,4 @@ <UserProperties RESOURCE_FILE="ttermpro.rc" /> </VisualStudio> </ProjectExtensions> -</Project> \ No newline at end of file +</Project> Modified: branches/serial_port_improved/teraterm/teraterm/ttermpro.v14.vcxproj =================================================================== --- branches/serial_port_improved/teraterm/teraterm/ttermpro.v14.vcxproj 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/ttermpro.v14.vcxproj 2019-09-14 11:04:18 UTC (rev 8145) @@ -204,6 +204,7 @@ <ClInclude Include="..\common\dlglib.h" /> <ClInclude Include="..\common\tektypes.h" /> <ClInclude Include="..\common\teraterm.h" /> + <ClInclude Include="..\common\tipwin.h" /> <ClInclude Include="..\common\tmfc.h" /> <ClInclude Include="..\common\tt-version.h" /> <ClInclude Include="..\common\ttcommon.h" /> Modified: branches/serial_port_improved/teraterm/teraterm/ttermpro.v15.vcxproj =================================================================== --- branches/serial_port_improved/teraterm/teraterm/ttermpro.v15.vcxproj 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/ttermpro.v15.vcxproj 2019-09-14 11:04:18 UTC (rev 8145) @@ -207,6 +207,7 @@ <ClInclude Include="..\common\dlglib.h" /> <ClInclude Include="..\common\tektypes.h" /> <ClInclude Include="..\common\teraterm.h" /> + <ClInclude Include="..\common\tipwin.h" /> <ClInclude Include="..\common\tmfc.h" /> <ClInclude Include="..\common\tt-version.h" /> <ClInclude Include="..\common\ttcommon.h" /> Modified: branches/serial_port_improved/teraterm/teraterm/ttermpro.v16.vcxproj =================================================================== --- branches/serial_port_improved/teraterm/teraterm/ttermpro.v16.vcxproj 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/ttermpro.v16.vcxproj 2019-09-14 11:04:18 UTC (rev 8145) @@ -207,6 +207,7 @@ <ClInclude Include="..\common\dlglib.h" /> <ClInclude Include="..\common\tektypes.h" /> <ClInclude Include="..\common\teraterm.h" /> + <ClInclude Include="..\common\tipwin.h" /> <ClInclude Include="..\common\tmfc.h" /> <ClInclude Include="..\common\tt-version.h" /> <ClInclude Include="..\common\ttcommon.h" /> @@ -277,4 +278,4 @@ <UserProperties RESOURCE_FILE="ttermpro.rc" /> </VisualStudio> </ProjectExtensions> -</Project> \ No newline at end of file +</Project> Modified: branches/serial_port_improved/teraterm/teraterm/ttermpro.v9.vcproj =================================================================== --- branches/serial_port_improved/teraterm/teraterm/ttermpro.v9.vcproj 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/ttermpro.v9.vcproj 2019-09-14 11:04:18 UTC (rev 8145) @@ -450,6 +450,9 @@ > </File> <File + RelativePath="..\common\tipwin.h" + > + <File RelativePath="..\common\tmfc.h" > </File> Modified: branches/serial_port_improved/teraterm/teraterm/ttermpro.vcproj =================================================================== --- branches/serial_port_improved/teraterm/teraterm/ttermpro.vcproj 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/ttermpro.vcproj 2019-09-14 11:04:18 UTC (rev 8145) @@ -451,6 +451,10 @@ > </File> <File + RelativePath="..\common\tipwin.h" + > + </File> + <File RelativePath="..\common\tmfc.h" > </File> Modified: branches/serial_port_improved/teraterm/teraterm/vtwin.cpp =================================================================== --- branches/serial_port_improved/teraterm/teraterm/vtwin.cpp 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/vtwin.cpp 2019-09-14 11:04:18 UTC (rev 8145) @@ -85,7 +85,7 @@ #include "tekwin.h" #include <htmlhelp.h> #include "compat_win.h" -#include "TipWin.h" +#include "tipwin.h" #include "initguid.h" //#include "Usbiodef.h" @@ -141,9 +141,6 @@ static int AutoDisconnectedPort = -1; -static TipWin *OpacityTip; -static POINT OpacityTipPts; - #ifndef WM_IME_COMPOSITION #define WM_IME_COMPOSITION 0x010F #endif @@ -176,13 +173,6 @@ } } -static void DestroyTooltip(TipWin* *tooltip) { - if (*tooltip) { - TipWinDestroy(*tooltip); - (*tooltip) = NULL; - } -} - /** * @param[in] alpha 0-255 */ @@ -813,6 +803,9 @@ DropLists = NULL; DropListCount = 0; + + // TipWin + TipWin = new CTipWin(HVTWin); } ///////////////////////////////////////////////////////////////////////////// @@ -2453,6 +2446,7 @@ int newAlpha = Alpha; TCHAR tipbuf[32]; TCHAR uimsg[MAX_UIMSG]; + POINT tippos; newAlpha += delta * ts.MouseWheelScrollLine; if (newAlpha > 255) @@ -2463,21 +2457,19 @@ get_lang_msg("TOOLTIP_TITLEBAR_OPACITY", uimsg, sizeof(uimsg), "Opacity %.1f %%", ts.UILanguageFile); _stprintf_s(tipbuf, _countof(tipbuf), _T(uimsg), (newAlpha / 255.0) * 100); - ::SetTimer(HVTWin, IdOpacityTipTimer, 1000, NULL); - if (OpacityTipPts.x != pt.x || - OpacityTipPts.y != pt.y) { - DestroyTooltip(&OpacityTip); + tippos = TipWin->GetPos(); + if (tippos.x != pt.x || + tippos.y != pt.y) { + TipWin->SetVisible(FALSE); } - if (OpacityTip == NULL) { - OpacityTip = TipWinCreate(HVTWin, pt.x, pt.y, tipbuf); - OpacityTipPts.x = pt.x; - OpacityTipPts.y = pt.y; - } else { - TipWinSetText(OpacityTip, tipbuf); - // \x83c\x81[\x83\x8B\x83`\x83b\x83v\x82̃\x8A\x83T\x83C\x83Y\x82\xAA\x8E\xB8\x94s\x82\xB5\x82\xBD\x82悤\x82Ɍ\xA9\x82\xA6\x82\xE9\x96\xE2\x91\xE8\x82̎b\x92\xE8\x91\xF4 - TipWinSetText(OpacityTip, tipbuf); + TipWin->SetText(tipbuf); + TipWin->SetPos(pt.x, pt.y); + TipWin->SetHideTimer(1000); + + if(! TipWin->IsVisible()) { + TipWin->SetVisible(TRUE); } return TRUE; @@ -2902,6 +2894,7 @@ break; case IdProtoTimer: ProtoDlgTimeOut(); + break; case IdDblClkTimer: AfterDblClk = FALSE; break; @@ -2941,9 +2934,6 @@ case IdPrnProcTimer: PrnFileDirectProc(); break; - case IdOpacityTipTimer: - DestroyTooltip(&OpacityTip); - break; } } @@ -4148,6 +4138,7 @@ default: return FALSE; } + break; case WM_CLOSE: TTEndDialog(hDlgWnd, 0); return TRUE; Modified: branches/serial_port_improved/teraterm/teraterm/vtwin.h =================================================================== --- branches/serial_port_improved/teraterm/teraterm/vtwin.h 2019-09-14 10:56:15 UTC (rev 8144) +++ branches/serial_port_improved/teraterm/teraterm/vtwin.h 2019-09-14 11:04:18 UTC (rev 8145) @@ -30,7 +30,7 @@ /* TERATERM.EXE, VT window */ #ifdef __cplusplus - +#include "tipwin.h" #include "tmfc.h" class CVTWindow : public TTCFrameWnd @@ -64,6 +64,9 @@ // DPI BOOL IgnoreSizeMessage; + // TipWin + CTipWin* TipWin; + public: CVTWindow(HINSTANCE hInstance); int Parse();