关于向JDialog或JPanel添加“最小化/最大化”按钮和jdialog最大化按钮的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于android–Dialog或DialogFragme
关于向JDialog或JPanel添加“最小化/最大化”按钮和jdialog 最大化按钮的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于android – Dialog或DialogFragment中的Activity是否存在dispatchTouchEvent()的等价物、android – 将循环进度条用作alertdialog或progressdialog、CDialog0 dialog(dialogs.get_Item(Excel::xlDialog)、delphi – 如何使鼠标悬停在最小化,最大化和关闭按钮的行为?等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- 向JDialog或JPanel添加“最小化/最大化”按钮(jdialog 最大化按钮)
- android – Dialog或DialogFragment中的Activity是否存在dispatchTouchEvent()的等价物
- android – 将循环进度条用作alertdialog或progressdialog
- CDialog0 dialog(dialogs.get_Item(Excel::xlDialog)
- delphi – 如何使鼠标悬停在最小化,最大化和关闭按钮的行为?
向JDialog或JPanel添加“最小化/最大化”按钮(jdialog 最大化按钮)
是否可以在JDialog中添加最大化/最小化按钮?如果不是,那么我们可以将这些按钮添加到JPanel吗?
我有一个JPanel,并且在该面板内部有一个JDialog。我想添加一个最小化/最大化按钮,以便当单击该按钮时,JDialog会根据JPanel调整JDialog下的组件。就像当我单击最大化时,jpanel应该被放大,并且该面板(JDialog)中的组件也被放大,反之亦然,以最小化按钮。我从这里得到的解决方案是针对JFrame中的JPanel。但是我的JPanel仅是独立的。
答案1
小编典典是否可以在JDialog中添加最大化/最小化按钮?
- 不,不要这样做(即使有一些肮脏的技巧),您也可以
JDialog.setUndecorated
添加并添加所需的Windows装饰,注意JDialog / JWindow的资源来自本机OS,仅对本机有效,SystemLookAndFeel
并且可能是CrossPlatfor
敏感的
如果不是,那么我们可以将这些按钮添加到JPanel吗?
- 是的,但是您可以使用
JOptionPane
和修改内容,也可以在其中放置任何JComponents
和/或返回值
android – Dialog或DialogFragment中的Activity是否存在dispatchTouchEvent()的等价物
目前我在我的活动中使用dispatchTouchEvent()但如果我在屏幕上有一个对话框,则不会调用它.有没有人知道我是否有任何方法可以在存在对话框的情况下使用相同的功能?
谢谢
解决方法
例如,在DialogFragment中单击外部时关闭键盘:
@NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { return new Dialog(getActivity(),getTheme()) { @Override public boolean dispatchTouchEvent(@NonNull MotionEvent motionEvent) { if (getCurrentFocus() != null) { InputMethodManager inputMethodManager = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getwindowToken(),0); } return super.dispatchTouchEvent(motionEvent); } }; }
android – 将循环进度条用作alertdialog或progressdialog
我正在使用这个库为我的android服装创建一个循环进度条(https://github.com/lzyzsd/CircleProgress).
我创建了一个布局,其中定义了循环进度条.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="#000000"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id = "@+id/progress_layout_id">
<com.github.lzyzsd.circleprogress.ArcProgress
android:id="@+id/m_arc_progress"
android:layout_width="214dp"
android:layout_height="match_parent"
/>
</LinearLayout>
我想要这个布局,其中定义循环Progressbar作为alertdialog或progress对话框弹出.我能够做到这一点.这是代码.
public class progressbar_fragment extends AlertDialog {
ArcProgress m_arc;
View v;
int mProgressVal;
Context mContext;
protected progressbar_fragment(Context context) {
super(context);
mContext = context;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
m_arc = (ArcProgress) findViewById(R.id.m_arc_progress);
if (mProgressVal > 0) {
setProgress(mProgressVal);
}
}
@Override
public void show() {
super.show();
setContentView(R.layout.pogress_bar);
}
我在类文件中称它为
m_arc = new progressbar_fragment(m_caller_context);
m_arc.show();
因此循环进度条显示为alertdialog.现在我想通过代码设置进度.任何人都可以指导我如何做到这一点设置进度功能是在库代码中.
应该有某种方式
m_arc_progress = (ArcProgress) l_progress_layout.findViewById(R.id.m_arc_progress);
m_arc_progress.setProgress(0);
有时它只适用于初始案例和我尝试做的时候
m_arc_progress.setProgress(25);
它告诉我错误
> java.lang.NullPointerException: Attempt to invoke virtual method
> 'android.view.View android.view.Window.findViewById(int)' on a null
> object reference
请帮忙做什么.
解决方法:
你已经设置了setContentView(R.layout.pogress_bar);在显示对话框后你必须在执行findViewById之前在onCreate()中设置它
CDialog0 dialog(dialogs.get_Item(Excel::xlDialog)
Application.Dialogs (xlDialogOpen).Show 显示 “文件” 菜单的 “打开” 对话框
Dialogs 的参数列表:
名称 |
值 |
说明 |
---|---|---|
xlDialogActivate |
103 |
激活对话框 |
xlDialogActiveCellFont |
476 |
活动单元格字体对话框 |
xlDialogAddChartAutoformat |
390 |
添加图表自动套用格式对话框 |
xlDialogAddinManager |
321 |
外接程序管理器对话框 |
xlDialogAlignment |
43 |
对齐方式对话框 |
xlDialogApplyNames |
133 |
应用名称对话框 |
xlDialogApplyStyle |
212 |
应用样式对话框 |
xlDialogAppMove |
170 |
AppMove 对话框 |
xlDialogAppSize |
171 |
AppSize 对话框 |
xlDialogArrangeAll |
12 |
排列所有对话框 |
xlDialogAssignToObject |
213 |
分配对象对话框 |
xlDialogAssignToTool |
293 |
分配工具对话框 |
xlDialogAttachText |
80 |
附加文本对话框中 |
xlDialogAttachToolbars |
323 |
附加工具栏对话框 |
xlDialogAutoCorrect |
485 |
自动校正对话框 |
xlDialogAxes |
78 |
轴对话框 |
xlDialogBorder |
45 |
边框对话框 |
xlDialogCalculation |
32 |
计算对话框 |
xlDialogCellProtection |
46 |
单元格保护对话框 |
xlDialogChangeLink |
166 |
更改链接对话框 |
xlDialogChartAddData |
392 |
图表中添加数据对话框 |
xlDialogChartLocation |
527 |
图表位置对话框 |
xlDialogChartOptionsDataLabelMultiple |
724 |
图表选项数据标签多个对话框 |
xlDialogChartOptionsDataLabels |
505 |
图表选项数据标签对话框中 |
xlDialogChartOptionsDataTable |
506 |
图表选项数据表对话框 |
xlDialogChartSourceData |
540 |
图表源数据对话框 |
xlDialogChartTrend |
350 |
图表趋势对话框 |
xlDialogChartType |
526 |
图表类型对话框 |
xlDialogChartWizard |
288 |
图表向导对话框 |
xlDialogCheckboxProperties |
435 |
复选框属性对话框 |
xlDialogClear |
52 |
清除对话框中 |
xlDialogColorPalette |
161 |
调色板颜色对话框 |
xlDialogColumnWidth |
47 |
列宽对话框 |
xlDialogCombination |
73 |
组合对话框 |
xlDialogConditionalFormatting |
583 |
条件格式对话框 |
xlDialogConsolidate |
191 |
整合对话框 |
xlDialogCopyChart |
147 |
复制图表对话框 |
xlDialogCopyPicture |
108 |
将图片复制对话框中 |
xlDialogCreateList |
796 |
创建列表对话框中 |
xlDialogCreateNames |
62 |
创建名称对话框 |
xlDialogCreatePublisher |
217 |
创建发布服务器对话框 |
xlDialogCustomizeToolbar |
276 |
自定义工具栏对话框 |
xlDialogCustomViews |
493 |
自定义视图对话框 |
xlDialogDataDelete |
36 |
数据删除对话框 |
xlDialogDataLabel |
379 |
数据标签对话框中 |
xlDialogDataLabelMultiple |
723 |
数据标签多个对话框 |
xlDialogDataSeries |
40 |
数据系列对话框 |
xlDialogDataValidation |
525 |
数据验证对话框 |
xlDialogDefineName |
61 |
定义名称对话框 |
xlDialogDefineStyle |
229 |
定义样式对话框 |
xlDialogDeleteFormat |
111 |
删除格式对话框 |
xlDialogDeleteName |
110 |
删除名称对话框 |
xlDialogDemote |
203 |
降级对话框 |
xlDialogDisplay |
27 |
显示对话框 |
xlDialogDocumentInspector |
862 |
文档检查器对话框 |
xlDialogEditboxProperties |
438 |
编辑框属性对话框 |
xlDialogEditColor |
223 |
编辑颜色对话框 |
xlDialogEditDelete |
54 |
编辑删除对话框 |
xlDialogEditionOptions |
251 |
编辑选项对话框 |
xlDialogEditSeries |
228 |
编辑序列对话框 |
xlDialogErrorbarX |
463 |
误差线 X 对话框 |
xlDialogErrorbarY |
464 |
误差线 Y 对话框 |
xlDialogErrorChecking |
732 |
错误检查对话框 |
xlDialogEvaluateFormula |
709 |
公式求值对话框 |
xlDialogExternalDataProperties |
530 |
外部数据属性对话框 |
xlDialogExtract |
35 |
提取对话框 |
xlDialogFileDelete |
6 |
文件删除对话框 |
xlDialogFileSharing |
481 |
文件共享对话框 |
xlDialogFillGroup |
200 |
填充组对话框 |
xlDialogFillWorkgroup |
301 |
对话框中填充工作组 |
xlDialogFilter |
447 |
对话框筛选程序对话框 |
xlDialogFilterAdvanced |
370 |
高级筛选对话框中 |
xlDialogFindFile |
475 |
查找文件对话框 |
xlDialogFont |
26 |
字体对话框 |
xlDialogFontProperties |
381 |
字体属性对话框 |
xlDialogFormatAuto |
269 |
自动套用格式对话框 |
xlDialogFormatChart |
465 |
设置图表格式对话框 |
xlDialogFormatCharttype |
423 |
图表类型格式对话框 |
xlDialogFormatFont |
150 |
设置字体格式对话框 |
xlDialogFormatLegend |
88 |
图例格式对话框 |
xlDialogFormatMain |
225 |
主要格式对话框 |
xlDialogFormatMove |
128 |
移动格式对话框 |
xlDialogFormatNumber |
42 |
设置数字格式对话框 |
xlDialogFormatOverlay |
226 |
设置重叠格式对话框 |
xlDialogFormatSize |
129 |
格式大小对话框 |
xlDialogFormatText |
89 |
将文本格式设置对话框 |
xlDialogFormulaFind |
64 |
公式查找对话框 |
xlDialogFormulaGoto |
63 |
公式转到对话框 |
xlDialogFormulaReplace |
130 |
公式替换对话框 |
xlDialogFunctionWizard |
450 |
函数向导对话框 |
xlDialogGallery3dArea |
193 |
库 3D 区域对话框 |
xlDialogGallery3dBar |
272 |
三维条形图库对话框 |
xlDialogGallery3dColumn |
194 |
三维柱形图库对话框 |
xlDialogGallery3dLine |
195 |
三维折线图库对话框 |
xlDialogGallery3dPie |
196 |
三维饼图库对话框 |
xlDialogGallery3dSurface |
273 |
库 3D 曲面对话框 |
xlDialogGalleryArea |
67 |
库面积对话框 |
xlDialogGalleryBar |
68 |
条形图库对话框 |
xlDialogGalleryColumn |
69 |
库列对话框 |
xlDialogGalleryCustom |
388 |
自定义库对话框 |
xlDialogGalleryDoughnut |
344 |
圆环库对话框 |
xlDialogGalleryLine |
70 |
折线图库对话框 |
xlDialogGalleryPie |
71 |
饼图库对话框 |
xlDialogGalleryRadar |
249 |
雷达图库对话框 |
xlDialogGalleryScatter |
72 |
散点图库对话框 |
xlDialogGoalSeek |
198 |
单变量求解对话框中 |
xlDialogGridlines |
76 |
设置网格对话框 |
xlDialogImportTextFile |
666 |
导入文本文件对话框 |
xlDialogInsert |
55 |
插入对话框 |
xlDialogInsertHyperlink |
596 |
插入超链接对话框 |
xlDialogInsertObject |
259 |
插入对象对话框 |
xlDialogInsertPicture |
342 |
插入图片对话框中 |
xlDialogInsertTitle |
380 |
插入标题对话框 |
xlDialogLabelProperties |
436 |
标签属性对话框 |
xlDialogListboxProperties |
437 |
列表框属性对话框中 |
xlDialogMacroOptions |
382 |
宏选项对话框 |
xlDialogMailEditMailer |
470 |
编辑邮件的邮件程序对话框 |
xlDialogMailLogon |
339 |
邮件登录对话框 |
xlDialogMailNextLetter |
378 |
发送下一信函对话框 |
xlDialogMainChart |
85 |
主图表对话框 |
xlDialogMainChartType |
185 |
主图表类型对话框 |
xlDialogMenuEditor |
322 |
菜单编辑器对话框 |
xlDialogMove |
262 |
移动对话框中 |
xlDialogMyPermission |
834 |
我的权限对话框中 |
xlDialogNameManager |
977 |
NameManager 对话框 |
xlDialogNew |
119 |
新建对话框 |
xlDialogNewName |
978 |
新名称对话框 |
xlDialogNewWebQuery |
667 |
新的 Web 查询对话框 |
xlDialogNote |
154 |
注意对话框 |
xlDialogObjectProperties |
207 |
对象属性对话框 |
xlDialogObjectProtection |
214 |
保护对象对话框 |
xlDialogOpen |
1 |
打开对话框 |
xlDialogOpenLinks |
2 |
打开链接对话框 |
xlDialogOpenMail |
188 |
打开邮件对话框 |
xlDialogOpenText |
441 |
打开文本对话框中 |
xlDialogOptionsCalculation |
318 |
计算选项对话框 |
xlDialogOptionsChart |
325 |
图表选项对话框 |
xlDialogOptionsEdit |
319 |
编辑选项对话框 |
xlDialogOptionsGeneral |
356 |
常规选项对话框 |
xlDialogOptionsListsAdd |
458 |
添加列表选项对话框 |
xlDialogOptionsME |
647 |
Me 选项对话框 |
xlDialogOptionsTransition |
355 |
转换选项对话框 |
xlDialogOptionsView |
320 |
视图选项对话框 |
xlDialogOutline |
142 |
分级显示对话框 |
xlDialogOverlay |
86 |
覆盖对话框 |
xlDialogOverlayChartType |
186 |
覆盖图图表类型对话框 |
xlDialogPageSetup |
7 |
页面设置对话框 |
xlDialogParse |
91 |
分析对话框 |
xlDialogPasteNames |
58 |
粘贴名称对话框 |
xlDialogPasteSpecial |
53 |
选择性粘贴对话框中 |
xlDialogPatterns |
84 |
模式对话框 |
xlDialogPermission |
832 |
权限对话框中 |
xlDialogPhonetic |
656 |
Phonetic 对话框 |
xlDialogPivotCalculatedField |
570 |
数据透视表计算字段对话框 |
xlDialogPivotCalculatedItem |
572 |
数据透视表计算数据项对话框 |
xlDialogPivotClientServerSet |
689 |
数据透视表客户端服务器设置对话框 |
xlDialogPivotFieldGroup |
433 |
组合数据透视表字段对话框 |
xlDialogPivotFieldProperties |
313 |
数据透视表字段属性对话框 |
xlDialogPivotFieldUngroup |
434 |
取消组合数据透视表字段对话框 |
xlDialogPivotShowPages |
421 |
数据透视表显示页对话框 |
xlDialogPivotSolveOrder |
568 |
数据透视表求解次序对话框 |
xlDialogPivotTableOptions |
567 |
数据透视表选项对话框 |
xlDialogPivotTableSlicerConnections |
1183 |
数据透视表切片器连接对话框 |
xlDialogPivotTableWhatIfAnalysisSettings |
1153 |
数据透视表 What If 分析设置对话框 |
xlDialogPivotTableWizard |
312 |
数据透视表向导对话框 |
xlDialogPlacement |
300 |
放置对话框 |
xlDialogPrint |
8 |
打印对话框 |
xlDialogPrinterSetup |
9 |
打印机设置对话框 |
xlDialogPrintPreview |
222 |
打印预览对话框 |
xlDialogPromote |
202 |
提升对话框 |
xlDialogProperties |
474 |
属性对话框 |
xlDialogPropertyFields |
754 |
属性字段对话框 |
xlDialogProtectDocument |
28 |
保护文档对话框 |
xlDialogProtectSharing |
620 |
保护共享对话框 |
xlDialogPublishAsWebPage |
653 |
发布为网页对话框 |
xlDialogPushbuttonProperties |
445 |
可通过按钮属性对话框 |
xlDialogReplaceFont |
134 |
替换字体对话框 |
xlDialogRoutingSlip |
336 |
已否决该对象或成员,但它仍保留向后兼容性的对象模型的一部分。在新的应用程序中),不应使用它。 |
xlDialogRowHeight |
127 |
行高对话框 |
xlDialogRun |
17 |
运行对话框 |
xlDialogSaveAs |
5 |
另存为对话框中 |
xlDialogSaveCopyAs |
456 |
副本另存为对话框中 |
xlDialogSaveNewObject |
208 |
保存新对象对话框中 |
xlDialogSaveWorkbook |
145 |
保存工作簿对话框中 |
xlDialogSaveWorkspace |
285 |
保存工作区对话框 |
xlDialogScale |
87 |
缩放对话框 |
xlDialogScenarioAdd |
307 |
方案中添加对话框 |
xlDialogScenarioCells |
305 |
方案单元对话框 |
xlDialogScenarioEdit |
308 |
方案编辑对话框中 |
xlDialogScenarioMerge |
473 |
方案合并对话框 |
xlDialogScenarioSummary |
311 |
方案摘要对话框 |
xlDialogScrollbarProperties |
420 |
滚动条属性对话框 |
xlDialogSearch |
731 |
搜索对话框 |
xlDialogSelectSpecial |
132 |
特殊选择对话框中 |
xlDialogSendMail |
189 |
发送邮件对话框 |
xlDialogSeriesAxes |
460 |
系列轴对话框 |
xlDialogSeriesOptions |
557 |
系列选项对话框 |
xlDialogSeriesOrder |
466 |
系列次序对话框 |
xlDialogSeriesShape |
504 |
系列形状对话框 |
xlDialogSeriesX |
461 |
X 轴系列对话框 |
xlDialogSeriesY |
462 |
Y 轴系列对话框 |
xlDialogSetBackgroundPicture |
509 |
将背景图片设置对话框 |
xlDialogSetManager |
1109 |
设置管理器对话框 |
xlDialogSetMDXEditor |
1208 |
集 MDX 编辑器对话框 |
xlDialogSetPrintTitles |
23 |
对话框中设置打印标题 |
xlDialogSetTupleEditorOnColumns |
1108 |
对列集元组编辑器对话框 |
xlDialogSetTupleEditorOnRows |
1107 |
在行集元组编辑器对话框 |
xlDialogSetUpdateStatus |
159 |
设置更新状态对话框 |
xlDialogShowDetail |
204 |
显示详细信息对话框 |
xlDialogShowToolbar |
220 |
显示工具栏对话框 |
xlDialogSize |
261 |
大小对话框 |
xlDialogSlicerCreation |
1182 |
切片器创建对话框 |
xlDialogSlicerPivotTableConnections |
1184 |
切片器数据透视表连接对话框 |
xlDialogSlicerSettings |
1179 |
切片器设置对话框 |
xlDialogSort |
39 |
排序对话框 |
xlDialogSortSpecial |
192 |
选择性排序的对话框 |
xlDialogSparklineInsertColumn |
1134 |
迷你插入列对话框 |
xlDialogSparklineInsertLine |
1133 |
迷你插入行对话框 |
xlDialogSparklineInsertWinLoss |
1135 |
迷你插入得失分析对话框 |
xlDialogSplit |
137 |
拆分对话框 |
xlDialogStandardFont |
190 |
标准字体对话框 |
xlDialogStandardWidth |
472 |
标准列宽对话框 |
xlDialogStyle |
44 |
样式对话框 |
xlDialogSubscribeTo |
218 |
订阅复制到对话框中 |
xlDialogSubtotalCreate |
398 |
创建分类汇总对话框 |
xlDialogSummaryInfo |
474 |
摘要信息对话框 |
xlDialogTable |
41 |
表对话框 |
xlDialogTabOrder |
394 |
Tab 键顺序的对话框 |
xlDialogTextToColumns |
422 |
文本列对话框 |
xlDialogUnhide |
94 |
取消隐藏对话框 |
xlDialogUpdateLink |
201 |
更新链接对话框 |
xlDialogVbaInsertFile |
328 |
VBA 插入文件对话框中 |
xlDialogVbaMakeAddin |
478 |
VBA 将外接程序对话框 |
xlDialogVbaProcedureDefinition |
330 |
VBA 过程定义对话框 |
xlDialogView3d |
197 |
三维视图对话框 |
xlDialogWebOptionsBrowsers |
773 |
Web 浏览器选项对话框 |
xlDialogWebOptionsEncoding |
686 |
编码 web 选项对话框 |
xlDialogWebOptionsFiles |
684 |
Web 选项文件对话框 |
xlDialogWebOptionsFonts |
687 |
Web 选项字体对话框 |
xlDialogWebOptionsGeneral |
683 |
常规 web 选项对话框 |
xlDialogWebOptionsPictures |
685 |
Web 选项图片对话框 |
xlDialogWindowMove |
14 |
移动窗口对话框 |
xlDialogWindowSize |
13 |
窗口大小对话框 |
xlDialogWorkbookAdd |
281 |
工作簿中添加对话框 |
xlDialogWorkbookCopy |
283 |
工作簿复制对话框中 |
xlDialogWorkbookInsert |
354 |
工作簿插入对话框 |
xlDialogWorkbookMove |
282 |
将工作簿移动对话框 |
xlDialogWorkbookName |
386 |
工作簿名称对话框 |
xlDialogWorkbookNew |
302 |
新工作簿的对话框 |
xlDialogWorkbookOptions |
284 |
工作簿选项对话框 |
xlDialogWorkbookProtect |
417 |
保护工作簿对话框中 |
xlDialogWorkbookTabSplit |
415 |
拆分工作簿标签对话框中 |
xlDialogWorkbookUnhide |
384 |
取消隐藏工作簿对话框 |
xlDialogWorkgroup |
199 |
工作组对话框 |
xlDialogWorkspace |
95 |
工作区对话框 |
xlDialogZoom |
256 |
缩放对话框 |
delphi – 如何使鼠标悬停在最小化,最大化和关闭按钮的行为?
>最小化
>最大化
>恢复
它的行为不正确:
与正确行为正确的应用程序进行比较:
重现步骤
>单击文件,新建,VCL表单应用程序 – Delphi
>单击运行(F9)
>将鼠标悬停在最小化,最大化或关闭按钮上。
怎么修?
> Windows 10,64位(在台式机上本机运行)
> Delphi XE6
编辑 – 它也失败了与Delphi 7:
并在德尔福5:
并在德尔福4:
我假设(即害怕)它是由ThemeServices引擎引起的;在那里他们可能以为很高兴不尊重用户的喜好。但是看起来更像是更根本的东西。
兼容性模式
>无:失败
> Windows 8:失败
> Windows 7:失败
> Windows Vista(Service Pack 2):失败
> Windows Vista(Service Pack 2):失败
> Windows Vista:失败
> Windows XP(Service Pack 3)(非客户端区域禁用):工作
> Windows XP(Service Pack 2)(非客户端区域禁用):工作
> Windows 98 / Windows Me(非客户端区域禁用):工作
> Windows 95(非客户端区域禁用):作品
Skype的
Skype也失败;也写在德尔福:
高DPI是触发器
我终于弄清楚为什么它在每个使用的Windows 10机器上都失败了但不是每个人高dpi。
将dpi设置为97(101%)或更高。
足够近
达利亚的解决方案有:
我们会忽略这个工具提示的问题,并且为了争取一天而活下去。
还应该注意的是,Windows 10会建议您在更改DPI后,可能需要注销并重新登录才能使某些应用程序正常工作。德尔福绝对是这样的。
还应该指出的是,德尔福不会容忍这样的DPI背后的变化。这包括调整缩放滑块。这也包括将应用放在除主显示器之外的任何显示器上。
我们从来没有弄清楚问题是什么;只有在运行多个显示器的用户的路上才踢了它。
解决方法
展示该问题的应用程序不是高DPI感知。悬停问题的解决方案是通过使用1,2或3之间的解决方案,使他们知道或打开相关的兼容性模式。
注意:当高DPI意识被打开时,是否其余的应用程序会正常运行是另一个问题,并且将因应用而异。
>在兼容模式下,检查“在高DPI设置上禁用显示缩放”
>调用SetProcessDPIAware作为第一次调用.dpr文件 – 如Ian Boyd所指出的,调用此函数可以进行竞争条件,首选方式是使用清单。 SetProcessDPIAware
>使用true或true / PM设置的自定义清单(“启用运行时主题”中包含的默认Delphi清单不高DPI)
当前版本的Delphi VCL和FMX框架缺乏对每个监视器DPI感知的支持,因此只有当您自己处理每个监视器DPI时,才使用true / PM清单。报告为QP为VCL and FireMonkey lack Per-Monitor DPI support for Windows 8.1 (and Windows 10)
<asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <dpiAware>true</dpiAware> </asmv3:windowsSettings> </asmv3:application>
要么
<asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <dpiAware>true/PM</dpiAware> </asmv3:windowsSettings> </asmv3:application>
更新:
Delphi VCL是错误行为的来源,具体问题是TForm类或其祖先的某个地方。当使用直接的Windows API时,窗口的行为正常。
Windows API代码行为正常:
MessageBox(0,'Correct','Caption',MB_OK); ShowMessage('Correct'); // if themes are enabled -> Windows Task dialog is used
完整的Delphi示例应用程序,创建主窗口而不使用VCL – 行为正常
program win; {$R *.res} uses Windows,Messages,SysUtils; var Msg: TMSG; LWndClass: TWndClass; hMainHandle: HWND; function WindowProc(HWND,Msg: Longint; wParam: wParam; lParam: lParam): Longint; stdcall; begin if Msg = WM_DESTROY then PostQuitMessage(0); Result := DefWindowProc(HWND,Msg,wParam,lParam); end; begin LWndClass.hInstance := hInstance; with LWndClass do begin lpszClassName := 'WinApiWnd'; Style := CS_PARENTDC or CS_BYtealIGNCLIENT; hIcon := LoadIcon(hInstance,'MAINICON'); lpfnWndProc := @WindowProc; hbrBackground := COLOR_BTNFACE + 1; hCursor := LoadCursor(0,IDC_ARROW); end; RegisterClass(LWndClass); hMainHandle := CreateWindow(LWndClass.lpszClassName,'Window Title',WS_CAPTION or WS_MINIMIZEBox or WS_SYSMENU or WS_VISIBLE,360,200,hInstance,nil); while GetMessage(Msg,0) do begin TranslateMessage(Msg); dispatchMessage(Msg); end; end.
行为失调的VCL形式:
var f: TForm; f := CreateMessageDialog('broken',mtWarning,mbOKCancel,mbOk); f.ShowModal; f.Free; f := TForm.Create(nil); f.ShowModal; f.Free;
我们今天的关于向JDialog或JPanel添加“最小化/最大化”按钮和jdialog 最大化按钮的分享已经告一段落,感谢您的关注,如果您想了解更多关于android – Dialog或DialogFragment中的Activity是否存在dispatchTouchEvent()的等价物、android – 将循环进度条用作alertdialog或progressdialog、CDialog0 dialog(dialogs.get_Item(Excel::xlDialog)、delphi – 如何使鼠标悬停在最小化,最大化和关闭按钮的行为?的相关信息,请在本站查询。
本文标签: