2015-05-19 104 views
1

我有這樣的代碼在我Dialog如何將普通文本轉換爲粗體文本?

//other code 
dialog.addText(strFmt("Delete this field's value: %1?", MyTable.FieldTable)); 
//other code 

我有一個輸出looklike:

I have an output looklike

我知道strUpr功能:

dialog.addText(strFmt("Delete this field's value: %1?", strUpr(MyTable.FieldTable))); 

是否存在的方法或功能僅轉換FIELDValue加粗文本

回答

5

您可以在FormBuildStaticTextControl設置bold屬性7

控制可以通過control方法得到DialogText方法返回addText

返回的整數包含的字體的重量如下:

0 Use the default font weight. 
1 Thin. 
2 Extra-light. 
3 Light. 
4 Normal. 
5 Medium. 
6 Semibold. 
7 Bold. 
8 Extra-bold. 
9 Heavy. 

實施例:

Dialog dialog = new Dialog(); 
DialogText dt = dialog.addText("Test"); 
FormBuildStaticTextControl txtCtl = dt.control(); 
txtCtl.bold(7); 

dialog.run(); 
+0

非常感謝@Matej!可以將文本轉換爲粗體文本嗎? 看起來像我的例子?我很感激! – ulisses

+0

只需使用'addField',然後使該字段不可編輯。 –

+0

@ulisses與文本(FormBuildStaticTextControl)不能混合格式。也許你可以使用HTML(自定義'DialogControl'和'FormControlType :: HTML')。自定義窗體比自定義「對話框」會更容易。 – Matej

0

我懷疑Dialog類有能力顯示黑體文本,至少我沒有看到這樣的,我也沒有找到任何方法來格式化對話框中的文本。一種解決方案是創建看起來像對話框的自定義窗體,但我認爲這是多餘的。

關於大寫,您可以使用strUprlink)方法:

//other code 
dialog.addText(strUpr(strFmt("Delete this field's value: %1?", MyTable.FieldTable))); 
//other code 
+0

謝謝@Maxim Lazarev,我已經看到了這個功能。對我來說,如果我可以有粗體文本,這是非常好的。我很欣賞你的建議。 – ulisses

1

使用addFieldValue(類似於馬捷的溶液A工作示例):

Dialog dialog = new Dialog("Dialog example"); 
DialogField f1 = dialog.addFieldValue(extendedTypeStr(String30), 'Value', "Delete this field's value?"); 
FormBuildStringControl c1 = f1.control(); 
c1.allowEdit(false); 
c1.skip(true); 
c1.bold(7); 
c1.viewEditMode(ViewEditMode::View); 
dialog.run(); 
+0

感謝您的升級! – ulisses