問題タブ [xojo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
523 参照

xojo - リストボックスのセルの背景色を変更する

デスクトップアプリケーションで作業していて、おそらくばかげた問題を抱えていて、まだ私を怒らせています。

動的ソースから行を取得するリストボックスがあります。

そのセルの基になるデータが特定の条件に変更された場合、コントロール内の特定のセルの前色を変更しようとしています。

条件のチェックが開始される前に、コントロールも 1 回描画されます。つまり、すべてのセルが同じ (白の) 前色で塗りつぶされます。

また、このリストボックスはキャンバス内にあり、そのキャンバスはウィンドウ コントロール内にあります。

このコードは、条件とリストボックス内のすべての行をチェックします。

WidgetsDictionary には、チェックする必要がある条件が含まれています。

実行後にCellTagsをチェックすると、本来あるべき場所に正しく設定されていることがわかります。

今、そのコードの後に​​私が呼び出す場合

注: Refresh が最適ではないことはわかっていますが、できるだけ早く起動する必要があります

ListBox の CellBackgroundPaint イベントにジャンプするコードが表示されます

そこに私はこれを持っています

繰り返しますが、このコードが正しく実行されていることがわかります。

したがって、リストが新しい色の正しいセルで再描画されることを期待しています。

しかし、何も変わりません。更新のたびに CellBackgroundPaint イベントが発生するのがわかりますが、表示される最終結果は常にデフォルト (白) のセルです。

順番に電話してみた

  • 特定のセルの InvalidateCell
  • Refresh ではなく、Listbox 全体で無効化します (わからないため)。
  • 含まれている Canvas を更新する

コードの最初のブロックの後、役に立たない。

だから今、私は次に何をしようか途方に暮れています。

編集

イベントハンドラーを

行と 3 番目の列全体が異なる色で交互に表示されます。

したがって、最初に表示された後に再描画しようとしているという事実は、問題がある場所にあると思います。

0 投票する
1 に答える
49 参照

xojo - これらの拡張 ASCII コードを置き換える方法は?

.txt ファイルを開いていますが、それらを Xojo にロードすると、これらの (’ , â€ک) のような奇妙な文字が表示されます。

DefineEncoding と ConvertEncoding を試しましたが、まだ機能していないようです。

output.text = output.text.DefineEncoding(Encodings.WindowsANSI)

output.text = output.text.ConvertEncoding(Encodings.UTF8)