![]() ![]() |
|
|||||||||
![]() |
![]() |
2000/10/27現在 |
![]() |
![]() |
Q33. セル内でのカレット移動に矢印キーを使用したいのですが? |
A33. セル内での透過(Thru)モードを使用します。 セル内で透過モードを開始すると ThruStopVKeyName, ThruStopVKeyNoプロパティ で設定されているキー以外は全てセルに渡されます。つまり、透過モードを制御する事により、 矢印キーをセル間の移動、セル内の移動の両方に使用することができます。 例として以下の様にプロパティを設定する事で、 PerfectGridのセルの移動を矢印で行い、F2キーで入力モード(透過)になり、 矢印キーはカレットの移動に使用されます。 入力モード(透過)ではEnterキーにより確定し、 その後矢印キーはセル間の移動に使用されます。 これは、エクセルの既定の動作と同様な例となります。 Private Sub Form_Load() With PerfectGrid1 .AddItems 0, 100 .ThruStartShift = pgcs_オフ .ThruStartVKeyName = "VK_F2" .ExitAtThruStop = True .ChangeCellTextAt = pgccta_常時 .ExitRow = 1 End With End Sub |
↑ページトップへ戻る |
![]() |
![]() |
Q32. RowMovedイベントを記述する時にエラーになります |
A32. RowMovedイベントの引数で、"To"を移動先の意味で使用しています。 "To"はVisualBasicの予約語である為にエラーを起こしてしまいます。 RowMovedイベントの引数"To"を任意の変数名に変更する事で正常に使用する事ができます。 列(ColMoved)に関しても同様です。 |
↑ページトップへ戻る |
![]() |
![]() |
Q31. 2000年問題に関連する注意点はありますか? |
A31. 日付(表示・入力)は4桁での西暦年にも対応しておりますので、4桁の西暦年の日付を使用していただいている場合には2000年問題への影響は生じません。 しかし、西暦年の下2桁のみの日付書式を使用された際には影響が生じます(但し、正確には2019年に)。 このような場合には、アプリケーションをプログラミングされる方が、西暦年を4桁の日付(表示・入力)に変更していただく必要があると思われます。 また、2桁の場合の対応状況を記します。 ・下2桁の西暦年の対応状況 00〜19は、西暦2000年〜2019年として扱います。 20〜99は、西暦1920年〜1999年として扱います。 |
↑ページトップへ戻る |
![]() |
![]() |
Q30. NT4.0 SP1/2の環境でIME97を使用した場合、IME97の不具合により全角文字が正常に入力できません |
A30. 初期のIME97の不具合だと思われます。IME97を使用しないか、SP3以上をインストールしてください。 |
↑ページトップへ戻る |
![]() |
![]() |
Q29. Delphiにおいて、Pictureプロパティをプログラムから設定することができません |
A29. Delphiの仕様により正しく活用できません。デザイン時に設定してください。 |
↑ページトップへ戻る |
![]() |
![]() |
Q28. Delphiにおいて、Object型のプロパティ(FONTなど)をプログラムから設定することができません |
A28. Delphiの仕様により正しく活用できません。デザイン時に設定してください。 |
↑ページトップへ戻る |
![]() |
![]() |
Q27. Visual Basic 5.0のデザイン時の編集で上固定領域へ日本語入力ができない事があります |
A27. これは編集モードにおいてもIMEModeプロパティが反映するために起きます。 編集モードで上固定領域へ日本語を入力する場合は、IMEModeプロパティを日本語入力ができる設定にしてください。 |
↑ページトップへ戻る |
![]() |
![]() |
Q26. 入力途中に、マウスで別のセルを選択すると入力中のテキストがキャンセルされます |
A26. PerfectGridの入力確定の設定によってはこの様な動作となります。 既定値としてはExit動作で入力確定とし、CellTextへ反映されます。 ChangeCellTextAtプロパティで入力値(Textプロパティ)をCellTextへ反映するタイミングを設定する事ができます。 例えばChangeCellTextAtプロパティをCellLostFocus時と設定すると、マウスでセルを移動すればCellTextには入力中のテキストが反映されます。 |
↑ページトップへ戻る |
![]() |
![]() |
Q25. テキスト入力で "A1"や"A4" 等"A"で始まる文字列を入力すると表示が崩れます |
A25. これはFormatStringプロパティの設定によって発生します。 "A1"や"A4"は"AM01","AM04"の省略形として時刻として認識しています。つまり、数値として認識できる文字列は数値として処理をします。その他"P","E"等も同様の処理がなされます。 "@"をFormatStringプロパティに設定する事でこれらを数値として処理しなくなります。 |
↑ページトップへ戻る |
![]() |
![]() |
Q24. 隠れているセルを表示できますか? |
A24. VisibleCellメソッドを使用します。 また隠れているかどうかを判断するにはCellIsVisibleメソッドを使用します。 行(VisibleRow)・列(VisibleCol)に関しても同様です。 |
↑ページトップへ戻る |
![]() |
![]() |
Q23. 実行時に列を加えたり、削除する事はできますか? |
A23. 残念ながらできません。但し、列幅を0に設定する事で列を表示上消す事ができます。また、列幅を0から通常の幅に設定し直す事で列を出現させる事ができます。 しかし、列幅が0であっても列内のデータが削除されるような事はありません。 |
↑ページトップへ戻る |
![]() |
![]() |
Q22. グリッド内の複数行の内容を一度にクリアできますか? |
A22. RemoveItemsメソッドを使用して行を削除した後でAddItemsメソッドで再度項目を加えることで実現できます。 |
↑ページトップへ戻る |
![]() |
![]() |
Q21. マウスでセルフォーカスを移動する際に、セルの内容を全選択状態にできますか? |
A21. CellClickイベントでセル内の文字列の長さをチェックした後、SelStart,SelLengthを指定することで実現できます。 |
↑ページトップへ戻る |
![]() |
![]() |
Q20. キー入力時に入力キーの制限はできますか? |
A20. 残念ながら、入力キーの制限を設定するプロパティ等はありません。 機能として実現するにはKeyPressイベントなどで指定キー以外のKeyAsciiを0に設定することで入力キーの制限が行えます。 |
↑ページトップへ戻る |
![]() |
![]() |
Q19. セル単位でフォントの設定はできますか? |
A19. 各セルのCellFontオブジェクトに、先ずフォントオブジェクトを割り当てた後、フォントに関するプロパティを設定するようにします。 例えば、行Row, 列Colのフォントを太字にするには以下のようにします。 Set PerfectGrid1.CellFont(Row, Col) = PerfectGrid1.Font PerfectGrid1.CellFont(Row, Col).Bold = True また、列毎(ColFont)・行毎(RowFont)の設定も同様です。 |
↑ページトップへ戻る |
![]() |
![]() |
Q18. MFC4.2の環境、ActiveX環境はどのように作るのでしょうか? |
A18. PerfectGridを動作させるためにはMFC42環境とActiveX環境の両方が必要になります。 Mfc42.dll, Mfc42loc.dll, Msvcrt.dll, Oleaut32.dll, Olepro32.dll の5つのDLLをWindows\System ディレクトリ(WindowsNTの場合は Winnt\system32)にコピーし、MfcReg32.exe(MFC環境を整え、DLLをレジストするツール)を実行します。 この時MFC4.2を選択します。 ActiveX環境はJaAxDist.exeを実行する事で環境が整います。 |
↑ページトップへ戻る |
![]() |
![]() |
Q17. セル単位にドロップダウンリストのリスト内容を変更できますか? |
A17. ドロップダウンリストのリスト内容を設定できるのは列単位です。セル単位で設定する事はできません。 |
↑ページトップへ戻る |
![]() |
![]() |
Q16. 行数が多い場合にデータを設定するのに時間がかかります |
A16. CellTextメソッドなどで一度に多くのセルデータを設定する場合、表示更新のための内部処理に多くの時間がかかることがあります。 この様な時はRefreshLaterプロパティを使用します。まずRefreshLaterをTRUEにした後で一連のセルデータを設定し、最後にRefreshLaterをFALSEにした後、Refreshメソッドで表示を更新します。 RefreshLaterがTRUEに設定されている間は表示の更新を行いませんので、一度に大量のデータ設定を行う場合には、処理時間はかなり短縮されます。 また、FormatStringを"@"としてデータを文字列としてのみ扱う方法も有効です。 なお、ProductVersion 1.0.3.0(SpecVersion 1.3)以上をお使いください。 古いバージョンをお使いの場合はダウンロードして新しいバージョンでお試しください。 |
↑ページトップへ戻る |
![]() |
![]() |
Q15. ラベルだけのグリッドを作れますか? |
A15. 全ての列のColStyleを『0-ラベル』に設定する事で可能です。 また、ViewModeプロパティをTRUEにすることでも同様の効果を得られます。 |
↑ページトップへ戻る |
![]() |
![]() |
Q14. 行のスクロールを制御できますか? |
A14. 指定した行を表示する場合、TopRowプロパティやVisibleRowメソッドを使用します。 また、行が表示されているかどうかはRowIsVisibleメソッドで確認する事ができます。 |
↑ページトップへ戻る |
![]() |
![]() |
Q13. Visual Basic 5.0において、マウスで「編集」メニューを選択するとフリーズする事があります |
A13. ProductVersion 1.0.2.0までで、お客様から発生のご報告を1件お受けしましたが弊社においては現象が確認できておりません。 しかしながら、ProductVersion 1.0.3.0で、当該メニューで本来設定可能な列幅以外の設定はできないようにしましたので、この現象も解消しているものと思われます。 なお、Visual Basic 4.0の場合、そもそも右マウスクリックで「編集」メニューが表示されませんのでこの問題は発生しません。 |
↑ページトップへ戻る |
![]() |
![]() |
Q12. ドロップダウンリストセルをキーボードからドロップダウンできますか? |
A12. セルのThruStartのタイミングで自動的にドロップダウンします。 ThruStartShiftプロパティがオンに設定されている場合、ThruStartVKeyNameプロパティがVK_RETURNに設定されている場合、ドロップダウンリストセルにフォーカスがある状態でShiftキーとEnterキーを同時に押す事でドロップダウンします。 |
↑ページトップへ戻る |
![]() |
![]() |
Q11. 複数のセルを選択し、コピー&ペーストできますか? |
A11. 残念ながら、セル単位での複数選択の機能はありません。 |
↑ページトップへ戻る |
![]() |
![]() |
Q10. デザイン時に固定領域にデータを入力する事はできますか? |
A10. デザイン時の「編集」モードを利用して入力する事は可能です。 ProductVersion 1.0.7.0以上に備わっている機能です。 PerfectGrid 更新履歴を参照してください。 |
↑ページトップへ戻る |
![]() |
![]() |
Q09. テキストに関して出力書式の設定はありますが入力書式の設定はできますか? |
A09. 残念ながら入力書式の制御機能はありません。 つまりFormatStringプロパティをyyyy/mm/ddと指定しておいたとしても、数値以外の文字も入力できますし、"/" を自動的にスキップすることもできません。 あくまでFormatStringプロパティは出力書式を設定するものです。 |
↑ページトップへ戻る |
![]() |
![]() |
Q08. PerfectGridをSS_TABコントロールで使用すると消えてしまいます |
A08. SS_TABコントロールは座標位置をマイナスで返すことがあります。PerfectGridでは座標位置としてマイナスの値が設定されるとコントロールのサイズが不正に変化してしまうために起こる現象です。 SS_TABコントロールに直接PerfectGridを貼り付けずに、フレーム又はパネルをSS_TABコントロールとの間に貼り付け、その上にPerfectGridを貼って使用してください。 |
↑ページトップへ戻る |
![]() |
![]() |
Q07. EnterキーでPerfectGridの最終行から別のコントロールにフォーカスを移動できません |
A07. PerfectGridの機能としてこの機能はございません。 実現するためにはプログラムでフォーカス移動セル(最終行)内でEnterキーを押された事を認識して、移動したいコントロールにSetFocusしてください。 |
↑ページトップへ戻る |
![]() |
![]() |
Q06. 他のコントロールからPerfectGridへSetFocusすると隣のセルにフォーカスが設定されます |
A06. 不具合によるものです。既に修正済みのOCXがホームージにアップされております。 最新版をダウンロードして使用してください。 |
↑ページトップへ戻る |
![]() |
![]() |
Q05. PerfectGridへフォーカスが移動した時にセル位置を指定できますか? |
A05. PerfectGridのGotFocusイベントでSelectCellメソッドを使用してセル位置を指定できます。 |
↑ページトップへ戻る |
![]() |
![]() |
Q04. FocusBackColorプロパティを設定すると元の背景色に戻りません |
A04. FocusBackColorプロパティとFocusForeColorプロパティはフォーカスのあるセルに対しての設定です。 つまりPerfectGridそのもののフォーカスの有無には影響をされません。 もしフォーカス喪失時に元の背景色に戻したい場合はFocusBackColorをLostFocusイベントで背景色に設定し、GotFocusイベントでFocusBackColor本来の色に設定します。 |
↑ページトップへ戻る |
![]() |
![]() |
Q03. ドロップダウンリストセルで選択項目の変更を知ることはできますか? |
A03. ChangeTextイベントで知る事ができます。 |
↑ページトップへ戻る |
![]() |
![]() |
Q02. 折り返し表示をしてColWidthを設定してもセル幅が上下で同じになります |
A02. AdjustColWidthプロパティをFALSEにする事で上下の幅を個別に設定できます。 |
↑ページトップへ戻る |
![]() |
![]() |
Q01. セルフォーカス位置は取得できますか? |
A01. RowプロパティとColプロパティから参照する事ができます。 |
↑ページトップへ戻る |
ホーム > サポート > PerfectGrid Ver.1.0 FAQ |
![]() |
![]() |