(57)【特許請求の範囲】
【請求項１】
回線を介して相手側の装置と接続して用いられ、上記相手側装置との共有画面を表示可能な表示部を有する通信装置において、
上記通信装置に格納されているファイルに対応して表示されているファイルアイコンに対してドラッグ操作およびドロップ操作をすることにより、上記ファイルアイコンに対応するファイルを相手側装置に送信する送信手段と、
上記送信手段によるファイル送信中に、共有ウィンドウ内に上記ファイルアイコンを表示する表示手段と、
上記送信手段により送信されるファイルの受信を完了したときに、上記共有ウィンドウ内に表示されているファイルアイコンを消去する表示消去手段とを設けたことを特徴とする通信装置。
【請求項２】
回線を介して相手側の装置と接続して用いられ、上記相手側装置との共有画面を表示可能な表示部を有する通信装置において、
上記共有ウィンドウの外に表示されているファイルアイコンを上記共有ウィンドウの外から内にドラッグするドラッグ手段と、
上記ドラッグ手段によりドラッグされたファイルアイコンを共有ウィンドウ内にドロップするドロップ手段と、
上記ドロップ手段によるドロップ操作の後に、上記ドラッグ手段によりドラッグされたファイルアイコンを共有ウィンドウ内に表示する表示手段と、
上記共有ウィンドウ内に表示されたファイルアイコンに対応するファイルを相手側装置に送信する送信手段と、
上記送信手段により送信されるファイルの受信を完了したときに、上記共有ウィンドウ内に表示されているファイルアイコンを消去する表示消去手段とを設けたことを特徴とする通信装置。
【請求項３】
請求項１または２に記載の通信装置において、
上記送信されてきたファイルを受信したときに、上記受信ファイルに対応するファイルアイコンを上記共有ウィンドウ内に表示する表示手段と、
上記表示されたファイルアイコンを上記共有ウィンドウの外にドラッグするドラッグ手段と、
上記ドラッグ手段によりドラッグされたファイルアイコンを上記共有ウィンドウの外でドロップするドロップ手段と、
上記ドロップ手段によるドロップ操作の後に、上記ファイルアイコンに対応するファイルを所定の記憶手段に保存する保存手段と、
上記ファイル受信が完了したことを相手側装置に通知する通知手段とを設けたことを特徴とする通信装置。
【請求項４】
請求項３に記載の通信装置において、
上記表示手段は、上記共有ウィンドウ内において相手側装置の共有ウィンドウ内に表示されているファイルアイコンと同じ位置に、上記受信ファイルに対応するファイルアイコンを表示するようになされていることを特徴とする通信装置。
【請求項５】
請求項３に記載の通信装置において、
上記表示手段は、上記共有ウィンドウ内の固定された位置に、上記受信ファイルに対応するファイルアイコンを表示するようになされていることを特徴とする通信装置。
【請求項６】
回線を介して相手側の装置に接続され、上記相手側装置との共有画面を表示可能な表示部を有する通信装置を用いた通信方法において、
上記通信装置に格納されているファイルに対応して表示されているファイルアイコンに対してドラッグ操作およびドロップ操作をすることにより、上記ファイルアイコンに対応するファイルを相手側装置に送信する送信工程と、
上記送信工程におけるファイル送信中に、共有ウィンドウ内に上記ファイルアイコンを表示する表示工程と、
上記送信工程により送信されるファイルの受信を完了したときに、上記共有ウィンドウ内に表示されているファイルアイコンを消去する表示消去工程とを有することを特徴とする通信方法。
【請求項７】
回線を介して相手側の装置に接続され、上記相手側装置との共有画面を表示可能な表示部を有する通信装置を用いた通信方法において、
上記共有ウィンドウの外に表示されているファイルアイコンを上記共有ウィンドウの外から内にドラッグするドラッグ工程と、
上記ドラッグ工程でドラッグされたファイルアイコンを共有ウィンドウ内にドロップするドロップ工程と、
上記ドロップ工程でのドロップ操作の後に、上記ドラッグ工程でドラッグされたファイルアイコンを共有ウィンドウ内に表示する表示工程と、
上記共有ウィンドウ内に表示されたファイルアイコンに対応するファイルを相手側装置に送信する送信工程と、
上記送信工程により送信されるファイルの受信を完了したときに、上記共有ウィンドウ内に表示されているファイルアイコンを消去する表示消去工程とを設けたことを特徴とする通信方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、共有ウィンドウ上に表示されたテキストや画像等からなる情報を通信回線を介して相手と共有するようになされた通信装置及び通信方法に関する。
【０００２】
【従来の技術】
従来、通信装置は、通信回線を介して通信相手の装置に接続されて用いられる。そして、この通信装置の表示部には、共有ウィンドウが表示される。この共有ウィンドウ上には、テキストや画像等からなる会議情報が通信相手の装置と同じようにに表示される。
【０００３】
また、共有ウィンドウ内にテキストや画像等を書き込むこともでき、この変更結果は相手の共有ウィンドウに即時に反映されるようになっている。通信装置の使用中に、あるファイル内のテキストや画像を共有ウィンドウに書き込むときは、一旦エディタ等を起動してファイルを開き、そのファイル中のテキストや画像の全体を選択してコピー・アンド・ペーストするようにしている。
【０００４】
ここで、コピー・アンド・ペーストとは、ドラッグ操作等により選択したテキストや画像をクリップ・ボードと呼ばれる一時的な記憶領域にコピーし、クリップ・ボードから別のウィンドウ内に貼りつける操作である。また、ドラッグ操作とは、マウスのボタンを押したままマウスを移動する操作である。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来例では、通信装置の使用中にあるファイル内のテキストや画像を共有ウィンドウに書き込むときは、一旦エディタ等を起動してファイルを開き、そのファイル中のテキストや画像の全体を選択してコピー・アンド・ペーストしなければならないので、操作が煩雑であるという欠点があった。
【０００６】
本発明は上述の問題点にかんがみ、ファイル内の情報を共有ウィンドウに書き込む操作を簡便に、かつ迅速に行えるようにすることを目的とする。
【０００７】
【課題を解決するための手段】
本発明の通信装置は、回線を介して相手側の装置と接続して用いられ、上記相手側装置との共有画面を表示可能な表示部を有する通信装置において、上記通信装置に格納されているファイルに対応して表示されているファイルアイコンに対してドラッグ操作およびドロップ操作をすることにより、上記ファイルアイコンに対応するファイルを相手側装置に送信する送信手段と、上記送信手段によるファイル送信中に、共有ウィンドウ内に上記ファイルアイコンを表示する表示手段と、上記送信手段により送信されるファイルの受信を完了したときに、上記共有ウィンドウ内に表示されているファイルアイコンを消去する表示消去手段とを設けたことを特徴とする。
また、本発明の通信装置は、回線を介して相手側の装置と接続して用いられ、上記相手側装置との共有画面を表示可能な表示部を有する通信装置において、上記共有ウィンドウの外に表示されているファイルアイコンを上記共有ウィンドウの外から内にドラッグするドラッグ手段と、上記ドラッグ手段によりドラッグされたファイルアイコンを共有ウィンドウ内にドロップするドロップ手段と、上記ドロップ手段によるドロップ操作の後に、上記ドラッグ手段によりドラッグされたファイルアイコンを共有ウィンドウ内に表示する表示手段と、上記共有ウィンドウ内に表示されたファイルアイコンに対応するファイルを相手側装置に送信する送信手段と、上記送信手段により送信されるファイルの受信を完了したときに、上記共有ウィンドウ内に表示されているファイルアイコンを消去する表示消去手段とを設けたことを特徴とする。
【０００８】
本発明の通信方法は、回線を介して相手側の装置に接続され、上記相手側装置との共有画面を表示可能な表示部を有する通信装置を用いた通信方法において、上記通信装置に格納されているファイルに対応して表示されているファイルアイコンに対してドラッグ操作およびドロップ操作をすることにより、上記ファイルアイコンに対応するファイルを相手側装置に送信する送信工程と、上記送信工程におけるファイル送信中に、共有ウィンドウ内に上記ファイルアイコンを表示する表示工程と、上記送信工程により送信されるファイルの受信を完了したときに、上記共有ウィンドウ内に表示されているファイルアイコンを消去する表示消去工程とを有することを特徴とする。
また、本発明の通信方法は、回線を介して相手側の装置に接続され、上記相手側装置との共有画面を表示可能な表示部を有する通信装置を用いた通信方法において、上記共有ウィンドウの外に表示されているファイルアイコンを上記共有ウィンドウの外から内にドラッグするドラッグ工程と、上記ドラッグ工程でドラッグされたファイルアイコンを共有ウィンドウ内にドロップするドロップ工程と、上記ドロップ工程でのドロップ操作の後に、上記ドラッグ工程でドラッグされたファイルアイコンを共有ウィンドウ内に表示する表示工程と、上記共有ウィンドウ内に表示されたファイルアイコンに対応するファイルを相手側装置に送信する送信工程と、上記送信工程により送信されるファイルの受信を完了したときに、上記共有ウィンドウ内に表示されているファイルアイコンを消去する表示消去工程とを設けたことを特徴とする。
【０００９】
【作用】
本発明は上記技術手段より成るので、送信側装置から受信側装置にファイルを送信すると、その送信ファイルに対応するファイルアイコンが送信側装置で表示され、その後、受信側装置でファイル受信が完了すると、上記ファイルアイコンの表示が消されるようになるので、ファイルの受信が完了したかどうかを送信側において確認することが可能となる。
【００１１】
【実施例】
以下、本発明の通信装置の一実施例を図面を参照して説明する。
まず、第１の実施例として、ファイル内のテキストを共有ウィンドウに展開する場合について説明する。
【００１２】
図１は、本実施例の通信装置の構成を示すブロック図である。図１において、１は本装置全体を制御するＣＰＵ、２は上記ＣＰＵ１で実行されるプログラムを格納するＲＯＭ、３は上記ＣＰＵ１で使用される種々のデータを格納するＲＡＭである。
【００１３】
次いで、４は上記ＣＰＵ１で使用される種々のファイル（テキストや画像などのファイル）を格納する磁気ディスク等からなる外部記憶装置、５は本装置の操作を行うためのキーボードやマウス等からなる操作部、６はＣＲＴ（ブラウン管）やＬＣＤ（液晶表示ディスプレイ）等からなる表示部７を制御する表示制御部である。
【００１４】
次いで、８はＬＡＮ（Local Area Network）等のインタフェースを制御する回線制御部、９は本装置が通信相手の装置と接続されるＬＡＮ等の回線、１０は上記の各構成ブロック１〜６、および８を接続するバスである。
以上のような構成の通信装置が、同様にして構成されている他の通信装置に回線９を介して接続される。
【００１５】
図２は、テキストファイルの展開前における表示部７の画面の表示例を示す図である。
図２において、１１は表示部７の画面全体、１２は相手装置との間で表示されたテキストを共有する共有ウィンドウ（共有画面）である。
【００１６】
次いで、１３〜１５はファイルアイコンであり、図１の外部記憶装置４に格納されている種々のテキストファイルに対応するものである。１６はドラッグアイコンであり、ドラッグ操作（マウスボタンを押したままマウスを移動すること）が行われている間、表示される。
【００１７】
次いで、１７はポインタであり、マウスやキーボード等の操作部５の操作に連動して表示画面１１上を任意に移動する。このポインタ１７は、操作部５を用いて種々の操作をするときに、その操作位置を指し示すものである。１８はクリック操作（マウスボタンを短い時間押すこと）により表示されたカーソル、１９はドラッグ操作により共有ウィンドウ１２内に表示されたハッチングである。
【００１８】
図２（ａ）に示すように、外部記憶装置４に格納されているファイル中のテキストを共有ウィンドウ１２内に展開したいときは、まず、共有ウィンドウ１２内でテキストを展開したい位置にポインタ１７を移動し、そこでクリック操作をすることによりカーソル１８を表示させる。
【００１９】
次に、例えばファイルアイコン１３に対応するファイルを共有ウィンドウ１２内に展開したい場合には、ファイルアイコン１３上にポインタ１７を移動してドラッグ操作を開始する。ドラッグ操作を開始すると、このドラッグ中は、移動するポインタ１７がある位置にドラッグアイコン１６が表示される。
【００２０】
そして、ポインタ１７をカーソル１８の位置に移動してドロップ操作（ドラッグ操作の後でマウスボタンを離すこと）をすると、上記ドラッグ操作により選択されたファイルアイコン１３に対応するファイルの内容が、カーソル１８の位置の前に挿入される。
【００２１】
また、ドロップ操作をすると、ドラッグ元のファイルアイコン１３の表示およびこのファイルアイコン１３に対応するファイルの内容は残るが、共有ウィンドウ１２上のドラッグアイコン１６の表示は消える。
【００２２】
テキストの展開位置を指定するには、図２（ｂ）に示すように、ハッチング１９を表示させることによっても行うことができる。この場合には、共有ウィンドウ１２内でテキストを展開したい範囲にポインタ１７を移動し、そこでドラッグ操作をすることによりハッチング１９を表示させる。
【００２３】
そして、上述と同様にしてファイルアイコン１３をドラッグしてこれをハッチング１９の位置にドロップすると、ハッチング１９の範囲内のテキストが、上記ドラッグ操作により選択されたファイルアイコン１３に対応するファイルの内容で置換される。
【００２４】
図３は、上述のようなファイル展開後における表示部７の画面の表示例を示す図である。
図２を用いて説明したように、ファイルアイコン１３をカーソル１８上でドロップすると、カーソル１８の位置の前に上記ファイルアイコン１３に対応するファイルの内容が挿入される。また、ファイルアイコン１３をハッチング１９上でドロップすると、ハッチング１９の範囲内のテキストが上記ファイルアイコン１３に対応するファイルの内容で置換される。
【００２５】
この結果、共有ウィンドウ１２に展開されたテキストは、図３に示すようになる。なお、図３において、展開前の元のテキストは「ＸＸＸ・・・ＸＸＸ」で示され、展開によって挿入または置換されたファイルは「ＡＡＡ・・・ＡＡＡ」で示される。
【００２６】
上述のように操作部５により指定されたテキストを展開する位置または範囲（カーソル１８の位置またはハッチング１９の範囲）の情報、および指定されたファイルアイコン１３に対応するファイル中のテキストは、回線制御部８により回線９を介して相手装置に送信される。
【００２７】
一方、上述のような送信側装置に回線９を介して接続されている受信側装置においても、表示画面１１上には、相手側装置と同様の共有ウィンドウ１２が表示されている。ただし、ファイルアイコン１３〜１５は、必ずしも表示されているとは限らない。
【００２８】
これにより、受信側装置の回線制御部８によってテキストの展開位置または範囲の情報とファイル中のテキストとが受信されると、送信側装置の共有ウィンドウ１２内に展開された位置と同じ位置に、同じテキスト「ＡＡＡ・・・ＡＡＡ」が表示される。
【００２９】
図４は、本実施例におけるＲＡＭ３上のメモリマップを示す図である。
図４において、Ｍｄはドラッグの動作モード（「範囲指定」または「テキスト展開」）を格納する変数、Ｔｘは共有ウィンドウ１２の左端からポインタ１７までの距離を文字単位で格納する変数、Ｔｙは共有ウィンドウ１２の上端からポインタ１７までの距離を文字単位で格納する変数である。
【００３０】
次いで、Ｓｘ(1) は共有ウィンドウ１２の左端からカーソル１８またはハッチング１９の先頭までの距離を文字単位で格納する配列、Ｓｘ(2) は共有ウィンドウ１２の左端からハッチング１９の終端までの距離を文字単位で格納する配列（カーソル１８が表示されているときは、ゼロに設定される）である。
【００３１】
次いで、Ｓｙ(1) は共有ウィンドウ１２の上端からカーソル１８、またはハッチング１９の先頭までの距離を文字単位で格納する配列、Ｓｙ(2) は共有ウィンドウ１２の上端からハッチング１９の終端までの距離を文字単位で格納する配列（カーソル１８が表示されているときは、ゼロに設定される）である。
【００３２】
次いで、Ｒｘ(1) は受信した配列Ｓｘ(1) の格納フィールドＣｘ(1) の値を格納する変数、Ｒｘ(2) は受信した配列Ｓｘ(2) の格納フィールドＣｘ(2) の値を格納する変数、Ｒｙ(1) は受信した配列Ｓｙ(1) の格納フィールドＣｙ(1) の値を格納する変数、Ｒｙ(2) は受信した配列Ｓｙ(2) の格納フィールドＣｙ(2) の値を格納する変数である。なお、上記各格納フィールドＣｘ(1) 、Ｃｘ(2) 、Ｃｙ(1) 、Ｃｙ(2) については後述する。
【００３３】
次いで、Ｐｘは表示画面１１の左端からポインタ１７までの距離を画素単位で格納する変数、Ｐｙは表示画面１１の上端からポインタ１７までの距離を画素単位で格納する変数、Ｄｘは表示画面１１の左端からドラッグアイコン１６までの距離を画素単位で格納する変数、Ｄｙは表示画面１１の上端からドラッグアイコン１６までの距離を画素単位で格納する変数である。
【００３４】
次いで、Ｆｎ(i) は展開するファイルのファイル名を格納する配列、Ｔｘ(i,j) は共有ウィンドウ１２内に表示されるテキストを格納する配列（i は列番号、j は行番号）、Ｂｆ(i) はファイルアイコン１３〜１５のビットマップを格納する配列、Ｂｄ(i) はドラッグアイコン１６のビットマップを格納する配列である。
【００３５】
なお、本装置の起動時には、配列Ｂｆ(i) はファイルアイコン１３〜１５のビットマップで初期化され、配列Ｂｄ(i) はドラッグアイコン１６のビットマップで初期化されるものとする。そして、これらの初期化されたビットマップ情報は、各アイコン１３〜１６表示のときに表示制御部６に渡される。
【００３６】
図５は、回線制御部８から送信されるテキストファイルのパケットのフォーマットを示す図である。
図５において、Ｌｐはパケットの長さを格納するフィールド、Ｃｍはコマンドの種別を格納するフィールド、Ｃｘ(1) は配列Ｓｘ(1) の値を格納するフィールド、Ｃｘ(2) は配列Ｓｘ(2) の値を格納するフィールド、Ｃｙ(1) は配列Ｓｙ(1) の値を格納するフィールド、Ｃｙ(2) は配列Ｓｙ(2) の値を格納するフィールド、Ｔ(i) はファイルＦｎ(i) 内のテキストを格納するフィールドである。
【００３７】
次に、図６〜図１０に、図１に示したＲＯＭ２に格納されているプログラムのうち、テキスト展開をする場合における各イベントの発生時にＣＰＵ１によって起動される処理のフローチャートを示す。
【００３８】
図６は、マウスのクリック時に起動される処理のフローチャートである。すなわち、このフローチャートは、図２（ａ）のカーソル１８を表示させる際の処理を示している。
【００３９】
図６において、まずステップＰ１で、表示制御部６から読み込んだ現在選択中のオブジェクトの種別が「テキスト」か否かを判定し、「テキスト」であるならステップＰ２に進む。そうでないなら処理を終了する。
【００４０】
ステップＰ２では、ＣＰＵ１は、配列Ｓｘ(1),Ｓｘ(2),Ｓｙ(1),Ｓｙ(2) が示す位置のカーソル１８またはハッチング１９の表示を消去するように表示制御部６に指示する。これは、カーソル１８やハッチング１９がすでに表示されているときに、それを消去するためである。
【００４１】
次に、ステップＰ３で、表示制御部６からポインタ１７の位置情報を文字単位で変数ＴｘとＴｙに読み込む。そして、ステップＰ４で、上記変数ＴｘとＴｙの値をそれぞれ配列Ｓｘ(1) とＳｙ(1) に設定し、ステップＰ５で、配列Ｓｘ(2) とＳｙ(2) に値ゼロをそれぞれ設定する。続いて、ステップＰ６で、変数ＴｘとＴｙが示す位置、すなわちクリック操作で指定した位置にカーソル１８を表示するように表示制御部６に指示して、処理を終了する。
【００４２】
図７は、マウスのドラッグ操作の開始時に起動される処理のフローチャートである。すなわち、図７中のステップＰ１〜Ｐ７の処理は、図２（ｂ）のハッチング１９の先頭位置を指定する際の処理を示し、ステップＰ８〜Ｐ１３の処理は、図２（ａ）および（ｂ）に示したファイルアイコン１３〜１５の中から所望のファイルアイコンを選択する際の処理を示している。
【００４３】
図７において、まずステップＰ１で、表示制御部６から読み込んだ現在選択中のオブジェクトの種別が「テキスト」か否かを判定し、「テキスト」であるならステップＰ２に進む。そうでないならステップＰ８に進む。
【００４４】
ステップＰ２では、変数Ｍｄの値を「範囲指定」を表す値に設定する。続いてＣＰＵ１は、ステップＰ３で、配列Ｓｘ(1),Ｓｘ(2),Ｓｙ(1),Ｓｙ(2) が示す位置のカーソル１８またはハッチング１９の表示を消去するように表示制御部６に指示する。
【００４５】
次に、ステップＰ４で、表示制御部６からポインタ１７の位置情報を文字単位で変数ＴｘとＴｙに読み込む。そして、ステップＰ５で、変数ＴｘとＴｙの値をそれぞれ配列Ｓｘ(1) とＳｙ(1) に設定し、ステップＰ６で、変数ＴｘとＴｙの値をそれぞれ配列Ｓｘ(2) とＳｙ(2) に設定する。
【００４６】
その後、ステップＰ７で、配列Ｓｘ(1),Ｓｘ(2),Ｓｙ(1),Ｓｙ(2) が示す範囲に、すなわちドラッグ操作により指定した範囲にハッチング１９を表示するように表示制御部６に指示し、処理を終了する。なお、この場合、Ｓｘ(1)=Ｓｘ(2),Ｓｙ(1)=Ｓｙ(2) であるから、ハッチング１９はこの段階では点のように表示される。
【００４７】
一方、ステップＰ８では、表示制御部６から読み込んだ現在選択中のオブジェクトの種別が「ファイルアイコン」か否かを判定し、「ファイルアイコン」であるならステップＰ９に進む。そうでないならステップＰ１４に進む。
【００４８】
ステップＰ９では、変数Ｍｄの値を「テキスト展開」を表す値に設定する。続いて、ステップＰ１０で、表示制御部６からポインタ１７の位置情報を画素単位で変数ＰｘとＰｙに読み込む。そして、ステップＰ１１で、変数ＰｘとＰｙの値をそれぞれ変数ＤｘとＤｙに設定する。
【００４９】
次に、ステップＰ１２で、表示制御部６から展開するファイルのファイル名を配列Ｆｎ(i) に読み込む。そして、ステップＰ１３で、変数ＰｘとＰｙが示す位置、すなわちポインタ１７が存在している位置にドラッグアイコン１６を表示するように表示制御部６に指示して、処理を終了する。
【００５０】
また、上記ステップＰ８からステップＰ１４に進んだときは、「範囲指定」も「テキスト展開」も行わない状態を表す「アイドル」に対応する値に変数Ｍｄの値を設定して、処理を終了する。
【００５１】
図８は、マウスをドラッグしながら移動している時に起動される処理のフローチャートである。すなわち、図８中のステップＰ１〜Ｐ５の処理は、図２（ｂ）のハッチング１９の範囲を指定している際中の処理を示し、ステップＰ６〜Ｐ１０の処理は、図２（ａ）および（ｂ）に示したドラッグアイコン１６の移動中における処理を示している。
【００５２】
図８において、まずステップＰ１で、変数Ｍｄの値が「範囲指定」を表す値であるかどうかを判定し、「範囲指定」の値であるならステップＰ２に進む。そうでないならステップＰ６に進む。
【００５３】
ステップＰ２では、配列Ｓｘ(1),Ｓｘ(2),Ｓｙ(1),Ｓｙ(2) の現在の値が示している範囲のハッチング１９の表示を消去するように表示制御部６に指示する。続いて、ステップＰ３で、表示制御部６からポインタ１７の位置情報を文字単位で変数ＴｘとＴｙに読み込む。
【００５４】
次に、ステップＰ４で、変数ＴｘとＴｙの値をそれぞれ配列Ｓｘ(2) とＳｙ(2) に設定する。そして、ステップＰ５で、以上のようにして設定した配列Ｓｘ(1),Ｓｘ(2),Ｓｙ(1),Ｓｙ(2) の新たな値（ただし、ハッチング１９の始点を表す配列Ｓｘ(1),Ｓｙ(1) の値は変わっていない）が示す範囲にハッチング１９を表示するように表示制御部６に指示して、処理を終了する。
【００５５】
一方、ステップＰ１からステップＰ６に進んだときは、変数Ｍｄの値が「テキスト展開」を表す値であるかどうかを判定し、「テキスト展開」の値であるならステップＰ７に進む。そうでないなら処理を終了する。
【００５６】
ステップＰ７では、変数ＤｘとＤｙの現在の値が示している位置にあるドラッグアイコン１６の表示を消去するように表示制御部６に指示する。続いて、ステップＰ８で、表示制御部６からポインタ１７の位置情報を画素単位で変数ＰｘとＰｙに読み込む。
【００５７】
次に、ステップＰ９で、変数ＰｘとＰｙの値をそれぞれ変数ＤｘとＤｙに設定する。そして、ステップＰ１０で、以上のようにして設定した変数ＤｘとＤｙの新たな値が示す位置にドラッグアイコン１６を表示するように表示制御部６に指示して、処理を終了する。
【００５８】
図９は、マウスのドロップ時に起動される処理のフローチャートである。
図９において、まずステップＰ１で、変数Ｍｄの値が「テキスト展開」を表す値であるかどうかを判定し、「テキスト展開」の値であるならステップＰ２に進む。そうでないなら処理を終了する。
【００５９】
ステップＰ２では、変数ＤｘとＤｙが示す位置にあるドラッグアイコン１６の表示を消去するように表示制御部６に指示する。続いて、ステップＰ３で、変数ＤｘとＤｙが示す位置が、共有ウィンドウ１２内であるか否かを判定する。そして、共有ウィンドウ１２内にあるならステップＰ４に進む。そうでないなら処理を終了する。
【００６０】
なお、ここでは、表示制御部６から共有ウィンドウ１２の位置情報を画素単位で読み込み、この読み込んだ位置情報が以下の条件を満たすときは「共有ウィンドウ１２内」であるとみなす。
共有ウィンドウの左端≦Ｄｘ≦共有ウィンドウの右端
共有ウィンドウの下端≦Ｄｙ≦共有ウィンドウの上端
【００６１】
次に、ステップＰ４で、表示制御部６からポインタ１７の位置情報を文字単位で変数ＴｘとＴｙに読み込む。そして、ステップＰ５で、変数ＴｘとＴｙが示す位置が、配列Ｓｘ(1),Ｓｘ(2),Ｓｙ(1),Ｓｙ(2) が示す位置か範囲内、すなわちカーソル１８の位置またはハッチング１９の範囲内であるかどうかを判定する。そして、これらの位置または範囲内にあるならステップＰ６に進む。そうでないなら処理を終了する。
【００６２】
なお、ここでは、表示制御部６から共有ウィンドウ１２の位置情報を文字単位で読み込み、この読み込んだ位置情報が以下の条件を満たすときは「カーソル１８の位置またはハッチング１９の範囲内」であるとみなす。
【００６３】
Ｓｘ(2) ＝０、Ｓｙ(2) ＝０のとき
Ｔｘ＝Ｓｘ(1) かつＴｙ＝Ｓｙ(1)
Ｓｘ(2) ≠０、Ｓｙ(2) ≠０であって
Ｔｙ＝Ｓｙ(1) のとき、
Ｓｘ(1) ≦Ｔｘ≦共有ウィンドウの右端
Ｓｙ(1) ＜Ｔｙ＜Ｓｙ(2) のとき、
共有ウィンドウの左端≦Ｔｘ≦共有ウィンドウの右端
Ｔｙ＝Ｓｙ(2) のとき、
共有ウィンドウの左端≦Ｔｘ≦Ｓｘ(2)
【００６４】
次に、ステップＰ６で、配列Ｓｘ(1),Ｓｘ(2),Ｓｙ(1),Ｓｙ(2) が示す位置または範囲にあるカーソル１８またはハッチング１９の表示を消去するように表示制御部６に指示する。続いて、ステップＰ７で、配列Ｓｘ(1),Ｓｘ(2),Ｓｙ(1),Ｓｙ(2) が示す位置または範囲にファイルＦｎ(i) 内のテキストを展開する。
【００６５】
ここで、Ｓｘ(2) ＝０、Ｓｙ(2) ＝０のときは、変数ＴｘとＴｙが示す位置にファイルＦｎ(i) 内のテキストを挿入する。また、Ｓｘ(2) ≠０、Ｓｙ(2) ≠０のときは、配列Ｓｘ(1),Ｓｘ(2),Ｓｙ(1),Ｓｙ(2) が示す範囲のテキストをファイルＦｎ(i) 内のテキストで置き換える。
【００６６】
そして、ステップＰ８で、テキスト展開コマンドをフィールドＣｍに格納し、配列Ｓｘ(1),Ｓｘ(2),Ｓｙ(1),Ｓｙ(2) の値をそれぞれフィールドＣｘ(1),Ｃｘ(2),Ｃｙ(1),Ｃｙ(2) に格納し、ファイルＦｎ(i) 内のテキストをフィールドＴ(i) に格納する。そして、これらの各フィールド情報を回線制御部８を介して相手装置に送信して、処理を終了する。
【００６７】
図１０は、回線制御部８がフィールドＣｍ中にテキスト展開コマンドを含むパケットを受信した時に起動される処理のフローチャートである。
まずステップＰ１で、回線制御部８から受信したフィールドＣｘ(1),Ｃｘ(2),Ｃｙ(1),Ｃｙ(2) の情報をそれぞれ配列Ｒｘ(1),Ｒｘ(2),Ｒｙ(1),Ｒｙ(2) に設定する。次に、ステップＰ２で、回線制御部８から受信したフィールドＴ(i) の情報を配列Ｒｘ(1),Ｒｘ(2),Ｒｙ(1),Ｒｙ(2) が示す位置または範囲に展開して、処理を終了する。
【００６８】
このように、本実施例では、同じ表示画面１１上に表示されたファイルアイコン１３に対してドラッグ操作およびドロップ操作をするだけで、上記ファイルアイコン１３に対応するファイル内のテキストを共有ウィンドウ１２に展開するとともに、相手装置に送信することができ、共有ウィンドウ１２にテキストを書き込む操作を簡便に行うことができる。
【００６９】
なお、前述した第１の実施例では、テキストの指定範囲をハッチング１９で表示するようにしていたが、アンダーライン、太字または斜体等で表示するようにしてもよい。
【００７０】
次に、第２の実施例として、ファイル内の画像を共有ウィンドウに展開する場合について説明する。
なお、本実施例の通信装置の構成は、図１に示したものと同じである。
【００７１】
図１１は、画像のファイルを展開する前における表示部７の画面の表示例を示す図であり、図２に示したものと同じものには同じ符号を付している。
図１１において、２１〜２３はファイルアイコンであり、図１の外部記憶装置４に格納されている種々の画像のファイルに対応するものである。
【００７２】
次いで、２４はクリック操作により表示されたカーソルであり、上記テキスト展開時に表示されるカーソル１８（図２（ａ）参照）とは異なる形状をしている。また、２５はドラッグ操作により共有ウィンドウ１２内に表示されたフレームである。
【００７３】
図１１（ａ）に示すように、外部記憶装置４に格納されているファイル中の画像を共有ウィンドウ１２内に表示したいときは、まず、共有ウィンドウ１２内で画像を表示したい位置にポインタ１７を移動し、そこでクリック操作をすることによりカーソル２４を表示させる。
【００７４】
次に、例えばファイルアイコン２１に対応するファイル中の画像を共有ウィンドウ１２内に表示したい場合には、ファイルアイコン２１上にポインタ１７を移動してドラッグ操作を開始する。ドラッグ操作を開始すると、このドラッグ中は、移動するポインタ１７がある位置にドラッグアイコン１６が表示される。
【００７５】
その後、ポインタ１７をカーソル２４の位置に移動してドロップ操作をすると、上記ドラッグ操作により選択されたファイルアイコン２１に対応するファイル中の画像が、カーソル２４の位置に表示される。
【００７６】
また、ドロップ操作をすると、ドラッグ元のファイルアイコン２１の表示およびこのファイルアイコン２１に対応するファイルの内容は残るが、共有ウィンドウ１２上のドラッグアイコン１６の表示は消える。
【００７７】
画像の表示位置を指定するには、図１１（ｂ）に示すように、フレーム２５を表示させることによっても行うことができる。すなわち、共有ウィンドウ１２内の画像を表示したい範囲にポインタ１７を移動し、そこでドラッグ操作をすることによりフレーム２５を表示させる。この場合のドラッグ操作は、フレーム２５の対角線方向に行われる。
【００７８】
そして、上述と同様にしてファイルアイコン２１をドラッグしてこれをフレーム２５の位置にドロップすると、上記ドラッグ操作により選択されたファイルアイコン２１に対応する画像がフレーム２５の範囲内に表示される。
【００７９】
図１２は、上述のようなファイル展開後における表示部７の画面の表示例を示す図である。
図１２に示すように、ファイルアイコン２１をカーソル２４上またはフレーム２５上でドロップすると、カーソル１８の位置またはフレーム２５の範囲内に上記ファイルアイコン２１に対応する画像２６が表示される。
【００８０】
上述のように操作部５により指定された画像を表示する位置または範囲（カーソル２４の位置またはフレーム２５の範囲）の情報、および指定されたファイルアイコン１３に対応するファイル中の画像データは、回線制御部８により回線９を介して相手装置に送信される。
【００８１】
一方、上述のような送信側装置に回線９を介して接続されている受信側装置においても、表示画面１１上には、相手側装置と同様の共有ウィンドウ１２が表示されている。ただし、ファイルアイコン２１〜２３は、必ずしも表示されているとは限らない。
【００８２】
これにより、受信側装置の回線制御部８によって画像の表示位置または範囲の情報とファイル中の画像データとが受信されると、送信側装置の共有ウィンドウ１２内に表示された位置または範囲と同じ位置または範囲に、同じ画像２６が表示される。
【００８３】
図１３は、本実施例におけるＲＡＭ３上のメモリマップを示す図である。
なお、図１３において、図４に示したメモリマップ中に示したものと同じ符号を付したものは、同様の内容を有する変数または配列である。
まず、Ｍｄ’はドラッグの動作モード（「範囲指定」または「画像展開」）を格納する変数である。
【００８４】
次いで、Ｗｘ(1) は表示画面１１の左端から共有ウィンドウ１２の左端までの距離を画素単位で格納する配列、Ｗｘ(2) は表示画面１１の左端から共有ウィンドウ１２の右端までの距離を画素単位で格納する配列、Ｗｙ(1) は表示画面１１の上端から共有ウィンドウ１２の上端までの距離を画素単位で格納する配列、Ｗｙ(2) は表示画面１１の上端から共有ウィンドウ１２の下端までの距離を画素単位で格納する配列である。
【００８５】
次いで、Ｓｘ(1)'は共有ウィンドウ１２の左端からカーソル２４またはフレーム２５の左端までの距離を画素単位で格納する配列、Ｓｘ(2)'は共有ウィンドウ１２の左端からフレーム２５の右端までの距離を画素単位で格納する配列（カーソル２４が表示されているときは、ゼロに設定される）である。
【００８６】
次いで、Ｓｙ(1)'は共有ウィンドウ１２の上端からカーソル２４またはフレーム２５の左端までの距離を画素単位で格納する配列、Ｓｙ(2)'は共有ウィンドウ１２の上端からフレーム２５の右端までの距離を画素単位で格納する配列（カーソル２４が表示されているときは、ゼロに設定される）である。
【００８７】
次いで、Ｒｘ(1)'は受信した配列Ｓｘ(1)'の格納フィールドＦｘ(1) の値を格納する変数、Ｒｘ(2)'は受信した配列Ｓｘ(2)'の格納フィールドＦｘ(2) の値を格納する変数、Ｒｙ(1)'は受信した配列Ｓｙ(1)'の格納フィールドＦｙ(1) の値を格納する変数、Ｒｙ(2)'は受信した配列Ｓｙ(2)'の格納フィールドＦｙ(2) の値を格納する変数である。なお、上記各格納フィールドＦｘ(1) 、Ｆｘ(2) 、Ｆｙ(1) 、Ｆｙ(2) については後述する。
【００８８】
次いで、Ｂｘは共有ウィンドウ１２内に表示されるファイル中の画像２６の横方向に対する画素数を格納する変数、Ｂｙは共有ウィンドウ１２内に表示されるファイル中の画像２６の縦方向に対する画素数を格納する変数、Ｂ(i,j) は共有ウィンドウ１２内に表示されるファイル中の画像２６のビットマップを格納する配列（i は横方向の画素の番号、j は縦方向の画素の番号）である。
【００８９】
次いで、Ｂｆｘはファイルアイコン２１〜２３の画像の横方向に対する画素数を格納する変数、Ｂｆｙはファイルアイコン２１〜２３の画像の縦方向に対する画素数を格納する変数、Ｂｆ(i,j) はファイルアイコン２１〜２３の画像のビットマップを格納する配列（i は横方向の画素の番号、j は縦方向の画素の番号）である。
【００９０】
次いで、Ｂｄｘはドラッグアイコン１６の画像の横方向に対する画素数を格納する変数、Ｂｄｙはドラッグアイコン１６の画像の縦方向に対する画素数を格納する変数、Ｂｄ(i,j) はドラッグアイコン１６の画像のビットマップを格納する配列（i は横方向の画素の番号、j は縦方向の画素の番号）である。
【００９１】
なお、本装置の起動時には、変数Ｂｆｘはファイルアイコン２１〜２３の画像の横方向に対する画素数で初期化され、変数Ｂｆｙはファイルアイコン２１〜２３の画像の縦方向に対する画素数で初期化され、配列Ｂｆ(i,j) はファイルアイコン２１〜２３の画像のビットマップで初期化されるものとする。
【００９２】
また、変数Ｂｄｘはドラッグアイコン１６の画像の横方向に対する画素数で初期化され、変数Ｂｄｙはドラッグアイコン１６の画像の縦方向に対する画素数で初期化され、配列Ｂｄ(i,j) はドラッグアイコン１６の画像のビットマップで初期化されるものとする。
【００９３】
そして、これらの初期化された変数および配列は、各アイコンを表示するときに表示制御部６に渡される。
また、共有ウィンドウ１２が表示されるとき、配列ＷｘとＷｙは、表示画面１１内の共有ウィンドウ１２の位置で初期化されるものとする。
【００９４】
図１４は、回線制御部８から送信される画像ファイルのパケットのフォーマットを示す図である。
図１４において、Ｌｐはパケットの長さを格納するフィールド、Ｃｍはコマンドの種別を格納するフィールド、Ｆｘ(1) は配列Ｓｘ(1)'の値を格納するフィールド、Ｆｘ(2) は配列Ｓｘ(2)'の値を格納するフィールド、Ｆｙ(1) は配列Ｓｙ(1)'の値を格納するフィールド、Ｆｙ(2) は配列Ｓｙ(2)'の値を格納するフィールド、Ｂｍ(i,j) は表示されたファイル中の画像２６のビットマップを格納するフィールド（i は横方向の画素の番号、j は縦方向の画素の番号）である。
【００９５】
次に、図１５〜図１９に、ＲＯＭ２に格納されているプログラムのうち、画像展開をする場合における各イベントの発生時にＣＰＵ１によって起動される処理のフローチャートを示す。
【００９６】
図１５は、マウスのクリック時に起動される処理のフローチャートである。すなわち、このフローチャートは、図１１（ａ）のカーソル２４を表示させる際の処理を示している。
【００９７】
図１５において、まずステップＰ１で、表示制御部６から読み込んだ現在選択中のオブジェクトの種別が「共有ウィンドウ」か否かを判定し、「共有ウィンドウ」であるならステップＰ２に進む。そうでないなら処理を終了する。
【００９８】
次に、ステップＰ２〜Ｐ６の処理は、図６に示したステップＰ２〜Ｐ６の処理とほぼ同じである。異なるところは、図６のフローチャートでは、テキストを扱っていたために文字単位の変数Ｔｘ, Ｔｙと文字単位の配列Ｓｘ(1),Ｓｘ(2),Ｓｙ(1),Ｓｙ(2) とを用いていたが、本実施例では、画像を扱っているために画素単位の変数Ｐｘ, Ｐｙと画素単位の配列Ｓｘ(1)', Ｓｘ(2)', Ｓｙ(1)', Ｓｙ(2)'とを用いていることのみである。よって、ここでは処理内容の詳細な説明は省略することとする。
【００９９】
図１６は、マウスのドラッグ操作の開始時に起動される処理のフローチャートである。すなわち、図１６中のステップＰ１〜Ｐ７の処理は、図１１（ｂ）に示したフレーム２５の先頭位置を指定する際の処理を示し、ステップＰ８〜Ｐ１３の処理は、図１１（ａ）および（ｂ）に示したファイルアイコン２１〜２３の中から所望のファイルアイコンを選択する際の処理を示している。
【０１００】
図１６において、まずステップＰ１で、表示制御部６から読み込んだ現在選択中のオブジェクトの種別が「共有ウィンドウ」か否かを判定し、「共有ウィンドウ」であるならステップＰ２に進む。そうでないならステップＰ８に進む。
【０１０１】
この図１６も上記した図１５と同様に、ステップＰ２〜Ｐ１４の処理は、図７に示したステップＰ２〜Ｐ１４の処理とほぼ同じである。すなわち、本実施例では、ドラッグの動作モードを格納する変数としてＭｄ’を用いるとともに、画素単位の変数Ｐｘ, Ｐｙと画素単位の配列Ｓｘ(1)', Ｓｘ(2)', Ｓｙ(1)', Ｓｙ(2)'とを用いていることのみが、図７のフローチャートと相違する。よって、ここでも処理内容の詳細な説明は省略することとする。
【０１０２】
図１７は、マウスをドラッグしながら移動している時に起動される処理のフローチャートである。すなわち、図１７中のステップＰ１〜Ｐ６の処理は、図１１（ｂ）に示したフレーム２５の範囲を指定している際中の処理を示し、ステップＰ７〜Ｐ１１の処理は、図１１（ａ）および（ｂ）に示したドラッグアイコン１６の移動中における処理を示している。
【０１０３】
図１７において、まずステップＰ１で、変数Ｍｄ’の値が「範囲指定」を表す値であるかどうかを判定し、「範囲指定」の値であるならステップＰ２に進む。そうでないならステップＰ７に進む。
【０１０４】
ステップＰ２では、表示制御部６からポインタ１７の位置情報を画素単位で変数ＰｘとＰｙに読み込む。そして、ステップＰ３で、この読み込んだ変数ＰｘとＰｙが示す位置が、配列Ｓｘ(1)', Ｓｘ(2)', Ｓｙ(1)', Ｓｙ(2)'が示す位置または範囲内にあるかどうかを判定し、範囲内にあるならステップＰ４に進む。そうでないなら処理を終了する。
【０１０５】
なお、ここでは、以下の条件を満たすときに、「配列Ｓｘ(1)', Ｓｘ(2)', Ｓｙ(1)', Ｓｙ(2)'が示す位置または範囲内」であるとみなす。
【０１０６】
Ｓｘ(1)'≦Ｓｘ(2)'、かつ、Ｓｙ(1)'≦Ｓｙ(2)'のとき、
Ｗｘ(1) ＋Ｓｘ(1)'≦Ｐｘ≦Ｗｘ(1) ＋Ｓｘ(2)'、かつ、
Ｗｙ(1) ＋Ｓｙ(1)'≦Ｐｙ≦Ｗｙ(1) ＋Ｓｙ(2)'
Ｓｘ(1)'＞Ｓｘ(2)'、かつ、Ｓｙ(1)'＜Ｓｙ(2)'のとき、
Ｗｘ(1) ＋Ｓｘ(2)'≦Ｐｘ≦Ｗｘ(1) ＋Ｓｘ(1)'、かつ、
Ｗｙ(1) ＋Ｓｙ(1)'≦Ｐｙ≦Ｗｙ(1) ＋Ｓｙ(2)'
【０１０７】
Ｓｘ(1)'＜Ｓｘ(2)'、かつ、Ｓｙ(1)'＞Ｓｙ(2)'のとき、
Ｗｘ(1) ＋Ｓｘ(1)'≦Ｐｘ≦Ｗｘ(1) ＋Ｓｘ(2)'、かつ、
Ｗｙ(1) ＋Ｓｙ(2)'≦Ｐｙ≦Ｗｙ(1) ＋Ｓｙ(1)'
Ｓｘ(1)'＞Ｓｘ(2)'、かつ、Ｓｙ(1)'＞Ｓｙ(2)'のとき、
Ｗｘ(1) ＋Ｓｘ(2)'≦Ｐｘ≦Ｗｘ(1) ＋Ｓｘ(1)'、かつ、
Ｗｙ(1) ＋Ｓｙ(2)'≦Ｐｙ≦Ｗｙ(1) ＋Ｓｙ(1)'
【０１０８】
次に、ステップＰ４で、配列Ｓｘ(1)', Ｓｘ(2)', Ｓｙ(1)', Ｓｙ(2)'の現在の値が示している範囲のフレーム２５の表示を消去するように表示制御部６に指示する。続いて、ステップＰ５で、変数ＰｘとＰｙの値をそれぞれ配列Ｓｘ(2)', Ｓｙ(2)'に設定する。
【０１０９】
そして、ステップＰ５で、以上のようにして設定した配列Ｓｘ(1)', Ｓｘ(2)', Ｓｙ(1)', Ｓｙ(2)'の新たな値が示す範囲にフレーム２５を表示するように表示制御部６に指示して、処理を終了する。ここで、配列Ｓｘ(1)', Ｓｘ(2)', Ｓｙ(1)', Ｓｙ(2)'が作る線分が対角線となるようにフレーム２５を表示する。
【０１１０】
一方、ステップＰ１からステップＰ７に進んだときは、変数Ｍｄ’の値が「画像展開」を表す値であるかどうかを判定し、「画像展開」の値であるならステップＰ８に進む。そうでないなら処理を終了する。なお、ステップＰ８〜Ｐ１１の処理は、図８に示したフローチャートのステップＰ７〜Ｐ１０の処理の同様であるので、説明を省略する。
【０１１１】
図１８は、マウスのドロップ時に起動される処理のフローチャートである。
図１８において、まずステップＰ１で、変数Ｍｄ’の値が「画像展開」を表す値であるかどうかを判定し、「画像展開」の値であるならステップＰ２に進む。そうでないなら処理を終了する。
【０１１２】
ステップＰ２では、変数ＤｘとＤｙが示す位置のドラッグアイコン１６の表示を消去するように表示制御部６に指示する。続いて、ステップＰ３で、表示制御部６からポインタ１７の位置情報を画素単位で変数ＰｘとＰｙに読み込む。
【０１１３】
そして、ステップＰ４で、この取り込んだ変数ＰｘとＰｙが示すポインタ１７の位置が、配列Ｓｘ(1)', Ｓｘ(2)', Ｓｙ(1)', Ｓｙ(2)'が示す位置または範囲内、すなわちカーソル２４の位置またはフレーム２５の範囲内であるかどうかを判定する。そして、これらの位置または範囲内にあるならステップＰ５に進む。そうでないなら処理を終了する。
【０１１４】
なお、ここでは、以下の条件を満たすときに、「カーソル２４の位置またはフレーム２５の範囲内」であるとみなす。
Ｓｘ(2) ＝０、Ｓｙ(2) ＝０のとき
Ｐｘ＝Ｗｘ(1) ＋Ｓｘ(1)'、かつ、Ｐｙ＝Ｗｙ(1) ＋Ｓｘ(1)'
Ｓｘ(2) ≠０、Ｓｙ(2) ≠０であって、
図１７のステップＰ３と同じ条件を満たすとき
【０１１５】
次に、ステップＰ５で、配列Ｓｘ(1)', Ｓｘ(2)', Ｓｙ(1)', Ｓｙ(2)'が示す範囲のフレーム２５の表示を消去するように表示制御部６に指示する。続いて、ステップＰ６で、ファイル名Ｆｎ(i) に対応する画像２６の横方向および縦方向の画素数をそれぞれ変数ＢｘとＢｙに読み込む。
【０１１６】
そして、ステップＰ７で、配列Ｓｘ(1)', Ｓｘ(2)', Ｓｙ(1)', Ｓｙ(2)'が示す位置または範囲にファイル名Ｆｎ(i) に対応する画像２６を表示する。
ここで、Ｓｘ(2)'＝０、Ｓｙ(2)'＝０のときは、変数Ｓｘ(2)'に（Ｗｘ(1) ＋Ｂｘ）とＷｘ(2) との小さい方の値を設定するとともに、変数Ｓｙ(2)'に（Ｗｙ(1) ＋Ｂｙ）とＷｙ(2) との小さい方の値を設定する。これは、配列Ｓｘ(1)', Ｓｘ(2)', Ｓｙ(1)', Ｓｙ(2)'により表される画像を表示する範囲２６が、共有ウィンドウ１２からはみ出さないようにするためである。
【０１１７】
また、ファイルＦｎ(i) から読み込んだ配列Ｂ(i,j) で示される画像２６は、横方向に｜Ｓｘ(1)'−Ｓｘ(2)'｜／Ｂｘ倍されるとともに、縦方向に｜Ｓｙ(1)'−Ｓｙ(2)'｜／Ｂｙ倍される。ここで、｜α｜はα式の絶対値を表す。
【０１１８】
次に、ステップＰ８で、画像展開コマンドをフィールドＣｍに格納し、配列Ｓｘ(1)', Ｓｘ(2)', Ｓｙ(1)', Ｓｙ(2)'の値をそれぞれフィールドＦｘ(1),Ｆｘ(2),Ｆｙ(1),Ｆｙ(2) に格納し、配列Ｂ(i,j) で示される画像の値をフィールドＢｂ(i,j) に格納する。そして、これらの各フィールド情報を回線制御部８を介して相手装置に送信して、処理を終了する。
【０１１９】
図１９は、回線制御部８がフィールドＣｍ中に画像展開コマンドを含むパケットを受信した時に起動される処理のフローチャートである。
まずステップＰ１で、回線制御部８から受信したフィールドＣｘ(1),Ｃｘ(2),Ｃｙ(1),Ｃｙ(2) の情報をそれぞれ配列Ｒｘ(1)'，Ｒｘ(2)'，Ｒｙ(1)'，Ｒｙ(2)'に格納する。次に、ステップＰ２で、回線制御部８から受信したフィールドＴ(i) の情報を、配列Ｒｘ(1)'，Ｒｘ(2)'，Ｒｙ(1)'，Ｒｙ(2)'が示す位置または範囲に展開して、処理を終了する。
【０１２０】
このように、本実施例では、同じ表示画面１１上に表示されたファイルアイコン２１に対してドラッグ操作およびドロップ操作をするだけで、上記ファイルアイコン２１に対応するファイル内の画像を共有ウィンドウ１２に表示するとともに、これを相手装置に送信することができ、共有ウィンドウ１２に画像を表示する操作を簡便に行うことができる。
【０１２１】
なお、前述した第２の実施例では、画像の表示範囲をフレーム２５で表示するようにしていたが、ハッチングを付けたり表示の色を変えることによって表示するようにしてもよい。
【０１２２】
また、前述した第２の実施例では、クリックした位置が画像２６の左上端になるようにしているが、クリックした位置が画像２６の中央や右下端などになるようにしてもよい。
【０１２３】
また、図１８のステップＰ７において、配列Ｂ(i,j) で示される画像２６をフレーム２５に合わせて拡大縮小するときの縦横の比率が異なるときがあるが、以下のようにすることによって対応することができる。このようにすれば、縦横の比率が保たれる。
【０１２４】
（｜Ｓｘ(1)'−Ｓｘ(2)'｜／Ｂｘ）≦（｜Ｓｙ(1)'−Ｓｙ(2)'｜／Ｂｙ）のとき、縦横方向にそれぞれ｜Ｓｘ(1)'−Ｓｘ(2)'｜／Ｂｘ倍する。
（｜Ｓｘ(1)'−Ｓｘ(2)'｜／Ｂｘ）＞（｜Ｓｙ(1)'−Ｓｙ(2)'｜／Ｂｙ）のとき、縦横方向にそれぞれ｜Ｓｙ(1)'−Ｓｙ(2)'｜／Ｂｙ倍する。
【０１２５】
以上、第１の実施例および第２の実施例で述べたように、回線９を介して接続された送信側装置と受信側装置との間で、共有ウィンドウ１２内に展開または表示されるテキストや画像などのファイルを相互に転送することにより、これらのファイルを共有することができるようになされている。
【０１２６】
ところが、従来の通信装置では、通信装置の使用中にファイルを相手装置に転送するときは、ファイル転送アプリケーションを別に起動し、相手先のファイル名等を指定して転送を行うか、または送信したいファイルのアイコンを共有ウィンドウ内にドラッグおよびドロップして転送を行っていた。
【０１２７】
しかしながら、このような従来例では、通信装置の使用中にファイルを転送するときは、受信側装置でファイル受信が完了したかどうかを送信側装置において確認することができないという欠点があった。
次に述べる第３の実施例による通信装置は、このような欠点を解決するためになされたものである。
【０１２８】
図２０は、ファイル送信時における表示部７の画面の表示例を示す図である。図２０において、３１〜３３はファイルアイコンであり、送信側装置の外部記憶装置４に保存されているテキストや画像等のファイルに対応するものである。また、３４はドロップ操作後共有ウィンドウ１２内にに表示されるファイルアイコンである。
【０１２９】
ファイルを相手装置に送信したいときは、送信したいファイルに対応するファイルアイコン３１をドラッグし、その後、共有ウィンドウ１２上でドロップすることによって行う。
【０１３０】
すなわち、まず、送信したいファイルに対応するファイルアイコン３１上にポインタ１７を移動してドラッグ操作を開始する。このドラッグ中は、移動するポインタ１７の位置にドラッグアイコン１６が表示される。
【０１３１】
その後、ポインタ１７を共有ウィンドウ１２内に移動してドロップ操作をすると、ドロップ操作をした位置にファイルアイコン３４が表示されるとともに、ドラッグアイコン１６の表示は消える。そして、ファイルアイコン３４に対応するファイルが相手装置に送信される。
【０１３２】
このとき、ドラッグ元のファイルアイコン３１の表示されたままであり、これに対応するファイルの内容は保持される。その後、相手装置においてファイルの受信が完了すると、ファイルアイコン３４の表示が消える。これにより、相手装置がファイルの受信を完了したかどうかを送信側で確認することができるようになる。
【０１３３】
図２１は、ファイル受信時における表示部７の画面の表示例を示す図である。図２１において、３５は送信側装置からファイルを受信したときに共有ウィンドウ１２内に表示されるファイルアイコンである。また、３６はドロップ操作後に表示されるファイルアイコンである。
【０１３４】
ファイルの受信があると、共有ウィンドウ１２上にファイルアイコン３５が表示される。このとき、受信したファイルは一時ファイルに記憶される。この一時ファイルに記憶されたファイルを保存したいときは、ファイルアイコン３５をドラッグし、共有ウィンドウ１２の外でドロップすることによって行う。
【０１３５】
すなわち、ファイルアイコン３５上にポインタ１７を移動してドラッグ操作を開始すると、ポインタ１７の位置にドラッグアイコン１６が表示される。その後、ポインタ１７を共有ウィンドウ１２の外に移動してドロップ操作をすると、ドロップ操作をした位置にファイルアイコン３６が表示されるとともに、ファイルアイコン３５およびドラッグアイコン１６の表示は消える。これでファイルの受信が完了する。
【０１３６】
図２２は、本実施例におけるＲＡＭ３上のメモリマップを示す図である。
なお、図２２において、図４に示したメモリマップ中に示したものと同じ符号を付したものは、同様の内容を有する変数または配列である。
まず、Ｍｄ''はファイル転送の動作モード（「送信」または「受信」）を格納する変数である。
【０１３７】
次いで、Ｃｓはファイル送信要求コマンドを格納する変数、Ｃｒはファイル受信確認コマンドを格納する変数、Ｓｘは変数Ｄｘの値を格納する変数、Ｓｙは変数Ｄｙの値を格納する変数である。
【０１３８】
次いで、Ｒｘは受信したフィールドＳｘの値を格納する変数、Ｒｙは受信したフィールドＳｙの値を格納する変数、Ｆｓは送信するファイルのファイル名を格納する配列、Ｆｒは受信したファイル名（フィールドＦｓの値) を格納する配列である。また、Ｂｆはファイルアイコン３１〜３６のビットマップを格納する配列、Ｂｄはドラッグアイコン１６のビットマップを格納する配列である。
【０１３９】
なお、本装置の起動時には、変数Ｃｓはファイル送信要求コマンドで初期化され、変数Ｃｒはファイル受信確認コマンドで初期化されるものとする。また、配列Ｂｆはファイルアイコン３１〜３６のビットマップで初期化され、配列Ｂｄはドラッグアイコン１６のビットマップで初期化されるものとする。そして、これらの初期化された配列Ｂｆ，Ｂｄ中のビットマップ情報は、各アイコン表示時に表示制御部６に渡される。
【０１４０】
図２３は、送信側装置の回線制御部８から送信されるパケットのフォーマットを示す図である。
図２３において、Ｌｐはパケットの長さを格納するフィールド、Ｃｓはファイル送信要求コマンド（変数Ｃｓ）を格納するフィールド、Ｓｘは変数Ｓｘを格納するフィールド、Ｓｙは変数Ｓｙを格納するフィールド、Ｆｓは送信するファイルのファイル名（配列Ｆｓ）を格納するフィールド、Ｆｃは送信するファイルの内容を格納するフィールドである。
【０１４１】
また、図２４は、受信側装置の回線制御部８から送信されるパケットのフォーマットを示す図である。
図２４において、Ｌｐはパケットの長さを格納するフィールド、Ｃｒはファイル受信確認コマンド（変数Ｃｒ）を格納するフィールドである。
【０１４２】
次に、図２５〜図２９に、ＲＯＭ２に格納されているプログラムのうち、本実施例における各イベントの発生時にＣＰＵ１によって起動される処理のフローチャートを示す。
【０１４３】
図２５は、マウスのドラッグ操作の開始時に起動される処理のフローチャートである。すなわち、このフローチャートは、図２０のファイルアイコン３１または図２１のファイルアイコン３５を指定する際の処理を示している。
【０１４４】
図２５において、まずステップＰ１で、表示制御部６から読み込んだ現在選択中のオブジェクトの種別が「ファイルアイコン」か否かを判定し、「ファイルアイコン」であるならステップＰ２に進む。そうでないなら処理を終了する。
【０１４５】
ステップＰ２では、表示制御部６からポインタ１７の位置情報を変数ＰｘとＰｙに読み込む。そして、ステップＰ３で、この読み込んだ変数ＰｘとＰｙが示す位置にドラッグアイコン１６を表示するように表示制御部６に指示する。
【０１４６】
次に、ステップＰ４で、変数ＰｘとＰｙの値をそれぞれ変数ＤｘとＤｙに格納し、ステップＰ５で、上記変数ＰｘとＰｙが示すポインタ１７の位置が共有ウィンドウ１２内にあるかどうかを判定する。ここで、ポインタ１７の位置が共有ウィンドウ１２内にないときは、図２０のファイルアイコン３１を指定した場合に相当するので、ステップＰ６に進む。一方、ポインタ１７の位置が共有ウィンドウ１２内にあるときは、図２１のファイルアイコン３５を指定した場合に相当するので、ステップＰ８に進む。
【０１４７】
なお、ここでは、表示制御部６から共有ウィンドウ１２の位置情報を読み込み、この読み込んだ位置情報が以下の条件を満たすときに「共有ウィンドウ内」であるとみなす。
共有ウィンドウの左端＜Ｐｘ＜共有ウィンドウの右端
共有ウィンドウの下端＜Ｐｙ＜共有ウィンドウの上端
【０１４８】
そして、上記ステップＰ５からステップＰ６に進んだときは、変数Ｍｄ''の値を「送信」を表す値に設定する。そして、ステップＰ７で、表示制御部６からファイルアイコン３１に対応するファイル名（ここでは「File１」）を配列Ｆｓに読み込んで、処理を終了する。一方、上記ステップＰ５からステップＰ８に進んだときは、変数Ｍｄ''の値を「受信」を表す値に設定して、処理を終了する。
【０１４９】
図２６は、マウスをドラッグしながら移動している時に起動される処理のフローチャートである。
図２６において、まずステップＰ１で、変数ＤｘとＤｙが示す位置にあるドラッグアイコン１６の表示を消去するように表示制御部６に指示する。
【０１５０】
次に、ステップＰ２で、表示制御部６から現在のポインタ１７の位置情報を変数ＰｘとＰｙに読み込む。そして、ステップＰ３で、この読み込んだ変数ＰｘとＰｙが示す位置にドラッグアイコン１６を表示するように表示制御部６に指示する。続いて、ステップＰ４で、変数ＰｘとＰｙの値をそれぞれ変数ＤｘとＤｙに格納して、処理を終了する。
【０１５１】
図２７は、マウスのドロップ時に起動される処理のフローチャートである。すなわち、図２７中のステップＰ１〜Ｐ６の処理は、図２０のファイルアイコン３１を共有ウィンドウ１２内にドロップしてファイルアイコン３４を表示する場合の処理を示している。また、ステップＰ７〜Ｐ１１の処理は、図２１のファイルアイコン３５を共有ウィンドウ１２の外にドロップしてファイルアイコン３６を表示する場合の処理を示している。
【０１５２】
図２７において、まずステップＰ１で、変数ＤｘとＤｙが示す位置のドラッグアイコン１６の表示を消去するように表示制御部６に指示する。次に、ステップＰ２で、変数Ｍｄ''の値が「送信」を表す値であるかどうかを判定し、「送信」の値であるならステップＰ３に進む。そうでないならステップＰ７に進む。
【０１５３】
ステップＰ３では、変数ＤｘとＤｙが示す位置が共有ウィンドウ１２内にあるかどうかを判定し、共有ウィンドウ１２内にあるならステップＰ４に進む。そうでないなら処理を終了する。ここで、共有ウィンドウ１２内にあるかどうかの判定は、図２５のステップＰ５における判定と同じ条件で行われる。
【０１５４】
上記ステップＰ３からステップＰ４に進んだときは、変数ＤｘとＤｙが示す位置に、配列Ｆｓ中に読み込んだファイル名に対応するファイルアイコン３４を表示するように表示制御部６に指示する。また、ステップＰ５で、変数ＤｘとＤｙの値をそれぞれ変数ＳｘとＳｙに格納する。
【０１５５】
そして、ステップＰ６で、変数Ｃｓ，変数Ｓｘ，変数Ｓｙ，配列Ｆｓの値および配列Ｆｓ中に読み込んだファイル名に対応するファイルの内容を、それぞれフィールドＣｓ，Ｓｘ，Ｓｙ，Ｆｓ，Ｆｃに設定し、これを回線制御部８に送信して処理を終了する。
【０１５６】
一方、上記ステップＰ２からステップＰ７に進んだときは、変数ＤｘとＤｙが示す位置が共有ウィンドウ１２内にあるかどうかを判定し、共有ウィンドウ１２内にあるならステップＰ８に進む。そうでないなら処理を終了する。このステップＰ７における共有ウィンドウ１２内にあるかどうかの判定も、図２５のステップＰ５における判定と同じ条件で行われる。
【０１５７】
ステップＰ８では、変数ＲｘとＲｙが示す位置にあるファイルアイコン３５の表示を消去するように表示制御部６に指示し、ステップＰ９では、変数ＤｘとＤｙが示す位置に、配列Ｆｓ中に読み込んだファイル名に対応するファイルアイコン３６を表示するように表示制御部６に指示する。
【０１５８】
次に、ステップＰ１０で、一時ファイルの名前を配列Ｆｓの値で示される名前に変更する。そして、ステップＰ１１で、変数Ｃｒの値をフィールドＣｒに設定し、これを回線制御部８に送信して処理を終了する。
【０１５９】
図２８は、回線制御部８が図２３のようなフィールドＣｓを含むパケットを受信した時に起動される処理のフローチャートである。
まずステップＰ１で、回線制御部８から受信したフィールドＳｘ，Ｓｙ，Ｆｓの値をそれぞれ変数Ｒｘ，変数Ｒｙおよび配列Ｆｒに格納する。
【０１６０】
次に、ステップＰ２で、回線制御部８から受信したフィールドＦｃの値を一時ファイルに格納するとともに、ステップＰ３で、変数ＲｘとＲｙが示す位置に、配列Ｆｓ中に読み込んだファイル名に対応するファイルアイコン３５を表示するように表示制御部６に指示して、処理を終了する。
【０１６１】
図２９は、回線制御部８が図２４のようなフィールドＣｒを含むパケットを受信した時に起動される処理のフローチャートである。
この場合は、ステップＰ１で、変数ＳｘとＳｙが示す位置のファイルアイコン３４の表示を消去するように表示制御部６に指示して、処理を終了する。
【０１６２】
なお、前述した第３の実施例では、送信側と受信側の共有ウィンドウ１２は、画面１１中の同じ位置にある場合について説明している。これに対し、送信側の共有ウィンドウ１２内のファイルアイコン３４の相対的な位置情報を受信側に送信するようにしてもよい。このようにすれば、共有ウィンドウ１２の位置は、送信側と受信側とで必ずしも同じ位置にある必要はなくなる。
【０１６３】
また、前述した第３の実施例では、図２０のファイルアイコン３４と図２１のファイルアイコン３５は、送信側と受信側とで共有ウィンドウ１２中の同じ位置に表示されているが、ファイルアイコン３５は、受信側の共有ウィンドウ１２の固定された位置（例えば、左上端や中央など）に表示するようにしてもよい。
【０１６４】
このとき、変数ＲｘとＲｙは、ファイルアイコン３５を表示する固定した位置を示す値で予め初期化される。また、フィールドＳｘとＳｙは必要でない。したがって、図２７のステップＰ６においては、フィールドＳｘとＳｙの値は受信側装置に送信しない。また、図２８のステップＰ１においては、フィールドＳｘとＳｙの値は受信せず、それぞれの値を変数ＲｘとＲｙに格納することもない。
【０１６５】
また、前述した第３の実施例では、受信したファイルの名前は送信側と同じになるが、ファイルアイコン３５を共有ウィンドウ１２の外にドラッグする前に、受信ファイルの新しい名前を受け付けるようにすることも可能である。
【０１６６】
さらに、前述した第１〜第３の実施例では、端末に接続される回線９としてＬＡＮを使用しているが、ＩＳＤＮの基本インタフェース、ＩＳＤＮの一次群インタフェース、広帯域ＩＳＤＮ、回線交換網、パケット交換網、公衆電話網、専用線、構内交換機（ＰＢＸ）などでも実施することができる。
【０１６７】
また、前述した第１〜第３の実施例では、プログラムやデータを格納する記憶装置としてＲＯＭ２やＲＡＭ３を使用しているが、フロッピーディスク、ハードディスク、ＩＣカードなどでも実施することができる。
【０１６８】
また、前述した第１〜第３の実施例では、ファイルアイコン１３〜１５をドラッグしてテキストの展開や画像の表示またはファイルの送信などを行うようにしていたが、フォルダアイコンをドラッグしてフォルダ内のテキストの展開したり、画像を表示したり、ファイルを送信したりするようにしてもよい。なお、フォルダとは複数のファイルをまとめて一つの名前を付けたものである。
【０１６９】
また、前述した第１〜第３の実施例では、テキストや画像は一つのパケットで送信していたが、テキストや画像のデータ量が大きいときに複数のパケットに分割して送信するようにしてもよい。
【０１７０】
【発明の効果】
本発明は上述したように、送信側装置から受信側装置にファイルを送信したときに、その送信ファイルに対応するファイルアイコンを送信側装置で表示し、受信側装置でファイル受信が完了したときに、上記ファイルアイコンの表示を消す手段を設けたので、通信装置の使用中にファイルを相手側装置に送信するときに、受信側装置でファイル受信を完了したかどうかを送信側において確認することができ、円滑な情報交換を行うことができるようになる。
【図面の簡単な説明】
【図１】本発明の通信装置の一実施例を示すブロック図である。
【図２】テキストファイル展開前における表示画面の表示例を示す図である。
【図３】テキストファイル展開後における表示画面の表示例を示す図である。
【図４】ＲＡＭ上のメモリマップを示す図である。
【図５】回線制御部から送信されるパケットのフォーマットを示す図である。
【図６】マウスのクリック時に起動される処理のフローチャートである。
【図７】マウスのドラッグ操作の開始時に起動される処理のフローチャートである。
【図８】マウスをドラッグしながら移動している時に起動される処理のフローチャートである。
【図９】マウスのドロップ操作時に起動される処理のフローチャートである。
【図１０】テキスト展開コマンドを含むパケットを受信した時に起動される処理のフローチャートである。
【図１１】画像ファイル展開前における表示画面の表示例を示す図である。
【図１２】画像ファイル展開後における表示画面の表示例を示す図である。
【図１３】ＲＡＭ上のメモリマップを示す図である。
【図１４】回線制御部から送信されるパケットのフォーマットを示す図である。
【図１５】マウスのクリック時に起動される処理のフローチャートである。
【図１６】マウスのドラッグ操作の開始時に起動される処理のフローチャートである。
【図１７】マウスをドラッグしながら移動している時に起動される処理のフローチャートである。
【図１８】マウスのドロップ操作時に起動される処理のフローチャートである。
【図１９】画像展開コマンドを含むパケットを受信した時に起動される処理のフローチャートである。
【図２０】ファイル送信時における表示画面の表示例を示す図である。
【図２１】ファイル受信時における表示画面の表示例を示す図である。
【図２２】ＲＡＭ上のメモリマップを示す図である。
【図２３】回線制御部から送信されるパケットのフォーマットを示す図である。
【図２４】回線制御部から送信されるパケットの他のフォーマットを示す図である。
【図２５】マウスのドラッグ操作の開始時に起動される処理のフローチャートである。
【図２６】マウスをドラッグしながら移動している時に起動される処理のフローチャートである。
【図２７】マウスのドロップ操作時に起動される処理のフローチャートである。
【図２８】図２３のパケットを受信した時に起動される処理のフローチャートである。
【図２９】図２４のパケットを受信した時に起動される処理のフローチャートである。
【符号の説明】
１  ＣＰＵ
２  ＲＯＭ
３  ＲＡＭ
４  外部記憶装置
５  操作部
６  表示制御部
７  表示部
８  回線制御部
９  回線
１０  バス
【図１】
0003715661.tif 000002
【図２】
0003715661.tif 000003
【図３】
0003715661.tif 000004
【図４】
0003715661.tif 000005
【図５】
0003715661.tif 000006
【図６】
0003715661.tif 000007
【図７】
0003715661.tif 000008
【図８】
0003715661.tif 000009
【図９】
0003715661.tif 000010
【図１０】
0003715661.tif 000011
【図１１】
0003715661.tif 000012
【図１２】
0003715661.tif 000013
【図１３】
0003715661.tif 000014
【図１４】
0003715661.tif 000015
【図１５】
0003715661.tif 000016
【図１６】
0003715661.tif 000017
【図１７】
0003715661.tif 000018
【図１８】
0003715661.tif 000019
【図１９】
0003715661.tif 000020
【図２０】
0003715661.tif 000021
【図２１】
0003715661.tif 000022
【図２２】
0003715661.tif 000023
【図２３】
0003715661.tif 000024
【図２４】
0003715661.tif 000025
【図２５】
0003715661.tif 000026
【図２６】
0003715661.tif 000027
【図２７】
0003715661.tif 000028
【図２８】
0003715661.tif 000029
【図２９】
0003715661.tif 000030