[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:08896] Re: DLL 作成windowサイズを変更するための winapi messageについて



kazu.yさん、こんにちは。
OHKUBO Hiroshi です。

        Date: Mon, 15 Sep 2003 18:20:58 +0900 の
        Subject: Re: DLL 作成windowサイズを変更するための winapimessageについて
        Message-Id: <001801c37b6a$ac84f3d0$0500a8c0@falcon>
        への返事です。

ご対応大変ありがとうございます。

>> SetPos は変更後 xyzzy のエディタ部の再描画が行われず
> 
> こちらで再現できません(T-T)
> 具体的にどのような症状なのか教えてもらえないでしょうか。

言葉足らず、申し訳ありません。
問題の現象は SetPos というより xpiSetPanePos 自体で考慮されて
いない部分であり、(現状) そういうものかなと考えて書いていました。
ListView.dll 側で対応実装していただく部分とは考えておらず、
lisp から 適当に winapi を呼んで対応しようと思っていました。
DLL 側で対応していただけるなら、とてもありがたいです (^^;;

ちなみに、私が確認した不具合は、描画のタイミングによって
起こっているように感じます。
再現確認した手順は以下の通りです。

----------------------------------------------------------------------
1. YMTZ さん watch.l を実行できるように (手抜き (^^;;)
2. watch を開始
3. scratch バッファで以下を評価

(progn
  (in-package "winapi")
  (c::define-dll-entry winapi::BOOL
    SetPos (c::int winapi::DWORD) "ListView" "SetPos")
  (c::define-dll-entry winapi::BOOL
    SetSize (c::int c::int c::int c::int c::int) "ListView" "SetSize")
  (in-package "user"))

4. 以下を順に評価して画面を確認

(SetPos ed::*watch-listview-id* 0); XPIS_LEFT
(SetPos ed::*watch-listview-id* 2); XPIS_RIGHT

;; エディタ部内の右側にも ListView が表示されている。

(SetPos ed::*watch-listview-id* 1); XPIS_TOP
(SetPos ed::*watch-listview-id* 3); XPIS_BOTTOM

;; エディタ部内の下側にも ListView が表示されている。
----------------------------------------------------------------------

私自身は、現状の ListView.dll の実装で十分有用だと考えておりますが
さらによいものになるなら、やっぱり嬉しいです。

以上、宜しくお願いいたします。

---
OHKUBO Hiroshi
konata_o@xxxxxxxxxxx
http://members.tripod.co.jp/ohkubo/index.html

Index Home