@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

階層フレキシブルグリッドコントロールで、Excelのように長い文字をセルの境界を越えて表示したいのですが

1
投稿者投稿内容
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2006-05-15 11:06
 Windows2000+Access2000の環境で
下記のようなテストフォームを作りました。
MSDNによると
ColWordWrapOption = flexWordBreak
の説明に
"The lines are automatically broken between words."
と書いてありましたので、これで良いと思うのですが、実際に動かしてみると
セルの境界を越えてExcelのように表示することができませんでした。。

 どうすればできるでしょうか。何卒ご教授の賜りますようよろしくお願いいたします。


=================================
'階層フレキシブルグリッドコントロール名:grdPlan
Option Compare Database
Option Explicit
Private objPlan As MSHFlexGrid
Private Sub Form_Load()
Set objPlan = Me.grdPlan.Object
Dim str1 As String
Dim str2 As String
Dim c As Integer
With objPlan
.Rows = 50
.Cols = 120
For c = 1 To .Cols
.ColWidth(c) = 300
Next
.Row = 1
.Col = 1
str1 = "あああああああああああああああ"
.TextMatrix(1, 1) = str1
.TextMatrix(1, 2) = str1
.TextMatrix(1, 3) = str1
.TextMatrix(1, 4) = str1
.CellBackColor = 39423 'ヤマブキ色

str2 = "いいいいいいいいいいいいいいい"
.Row = 1
.Col = 5
.TextMatrix(1, 5) = str2
.TextMatrix(1, 6) = str2
.TextMatrix(1, 7) = str2
.TextMatrix(1, = str2
.CellBackColor = 39423 'ヤマブキ色

.MergeCells = flexMergeFree
.MergeRow(1) = True

.ColWordWrapOption(1) = flexWordBreak
.ColWordWrapOption(2) = flexWordBreak
.ColWordWrapOption(3) = flexWordBreak
.ColWordWrapOption(4) = flexWordBreak

.ColWordWrapOption(5) = flexWordBreak
.ColWordWrapOption(6) = flexWordBreak
.ColWordWrapOption(7) = flexWordBreak
.ColWordWrapOption( = flexWordBreak

.AllowUserResizing = flexResizeBoth

End With
End Sub
=================================

※ @IT様:何回書き換えても件名と本文の表示がバグってますが。。。
※ 上で顔マークの部分は半角で 8) です。


[ メッセージ編集済み 編集者: McLaren 編集日時 2006-05-15 11:12 ]

[ メッセージ編集済み 編集者: McLaren 編集日時 2006-05-15 11:13 ]

[ メッセージ編集済み 編集者: McLaren 編集日時 2006-05-15 11:14 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-15 11:58
引用:

McLarenさんの書き込み (2006-05-15 11:06) より:

"The lines are automatically broken between words."
と書いてありましたので、これで良いと思うのですが、実際に動かしてみると
セルの境界を越えてExcelのように表示することができませんでした。。


違うと思います。
これは単語間の「泣き別れ」のことだと思います。

引用:

どうすればできるでしょうか。
何卒ご教授の賜りますようよろしくお願いいたします。


FlexGrid ではお馴染みの「TextBox で代用案」しかないと思います。
「選択中のみ、はみ出すことを許可する」ような仕様でないと難しいと思いますよ。

引用:

※ @IT様:何回書き換えても件名と本文の表示がバグってますが。。。
※ 上で顔マークの部分は半角で 8) です。


かなりご投稿されているようなので、ご存知かもしれませんが、
 「この投稿で 顔文字(スマイリー) を使わない」
に、チェックしておけば良いかと思います。(私はいつもチェックしています)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2006-05-15 14:27
 お世話になっております。
お忙しいところご教授くださいまして、ありがとうございました。

 また、このようにセルをMergeしていると、複数セルをドラックで選択できなくなりましたが、回避方法などはあるのでしょうか。

なにとぞご教授願います。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-15 14:36
引用:

McLarenさんの書き込み (2006-05-15 14:27) より:

また、このようにセルをMergeしていると、複数セルをドラックで選択できなくなりましたが、回避方法などはあるのでしょうか。


flexMergeNever に戻す以外にないですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2006-05-15 15:04
ありがとうございました。
またよろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)