IF 文の比較演算子の解釈に注意。 IF (DispStyleUlong = SS_CENTERIMAGE OR SS_ICON) then と書いたらば、 DispStyleUlong = SS_CENTERIMAGE の場合と SS_ICON の場合が、Then 以降実行された。つまり、 (DispStyleUlong = SS_CENTERIMAGE) OR (SS_ICON) と解釈された。こっちが考えていた、 SS_CENTERIMAGE と SS_ICONとの論理和の結果がDispStyleUlongと等しい場合 には、 IF (DispStyleUlong = (SS_CENTERIMAGE OR SS_ICON)) then のように、()をつけて先に演算させる必要がある。 比較演算子と論理演算子の解釈の順番が違っていたみたい。 なお、SS_ICON と SS_がついているとおり、システム定数(型は不明)で、論理型の変数ではないから。