[Ttssh2-commit] [8145] trunkからリビジョン8120-8123, 8137-8139, 8142-8143をマージ:

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2019年 9月 14日 (土) 20:04:18 JST


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();


Ttssh2-commit メーリングリストの案内
Back to archive index