- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要这样的逻辑:
ShowProgressBar();
Sleep(1000); //---> do here some work
HideProgressBar();
MessageBoxW(_T("Wait"), _T("Title"), MB_OK);
ShowProgressBar();
Sleep(1000); //---> do here some work
HideProgressBar();
我在单独的线程(不是主 GUI 线程)中调用此代码。我有正常的对话框窗口,但它的进度条是固定的:
然后:
这是 ShowProgressBar 函数:
progressBarWindow = new Progress(this);
if (!progressBarWindow->Create(IDD_PROGRESSBAR, this))
{
AfxMessageBox(TEXT("BAD PROGRESS BAR"));
return;
}
if(!progressBarWindow->ShowWindow(SW_SHOWNA))
{
AfxMessageBox(TEXT("BAD PROGRESS BAR"));
return;
}
this->BeginModalState();
这是 HideProgressBar 的实现:
progressBarWindow->EndDialog(0);
this->EndModalState();
Progress - 是一类Progress Bar对话窗口。它绝对是标准的,具有带有品牌设置的进度条元素:
m_ProgressBar.SetMarquee(TRUE, 10)
在 OnInitDialog 函数中
最佳答案
Windows 具有线程亲和性。
您正在后台线程上调用 progressBarWindow->Create()。进度条现在存在于您的后台线程中,并期望该线程具有消息泵。
父窗口属于另一个线程没关系,Windows 可以做多线程 GUI。但是你不好。您正在使用 Sleep(1000) 休眠,因此线程不会处理 Windows 消息。我认为这就是为什么您的应用程序中没有 GUI 更新的原因。
对于大多数应用程序,执行线程的正确方法是在主线程中执行所有 GUI。即使在逻辑上与后台线程相关的进度条仍应在主 GUI 线程中创建。
要解决此问题,请在主 GUI 线程中创建所有 GUI,并且仅将单独的线程用于计算、IO 或任何其他工作。
附言如果您的下一个问题是“但是当我的后台线程需要更改进度或完成其工作时如何通知 GUI 线程?” — 一种方法是自定义 Windows 消息。
例如,您可以在您的线程完成处理时将 WM_USER + 11
发送到某个窗口(例如,您的进度对话框),并在您的线程完成时发送 WM_USER + 12
需要更新进度条位置,在lParam或wParam中传递进度位置。消息处理程序将在主线程中调用,您可以在主线程中更新进度、关闭进度弹出窗口或使用 GUI 执行任何其他操作。
关于c++ - 进度条不动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40156404/
我有一个 RelativeLayout,我从 drawable 设置了背景。我能够将 RelativeLayout 的背景更改为另一个RadioButton 被选中。但是当它发生变化时我该如何给它一个
我正在尝试在 Google 的 Play 报亭应用中复制此动画: http://i.imgur.com/UuX1PRO.webm 我的布局看起来像这样: ... more
我一直在评估 Airflow 。我有一个用例,我有一个每小时运行一次的工作流,以获得每小时的数据聚合。另一个每天运行以获得相同的每日聚合。是否可以创建一个组合工作流,其中仅当所有小时聚合在过去一天都成
我有下一个结构: Activity 1: Activity 2: Form to add new item to the recycler View. RecyclerView
我只是想知道 JavaFx 中是否有任何简单的动 Canvas 局方法,例如 VBox 和 HBox。我希望我的应用程序在指定时间后更改 VBox 的背景颜色。但我意识到没有任何类似于 FillTra
我正在使用 Angular 4 动画在按钮上测试一个简单的淡入/淡出动画。我遇到的问题是,因为我使用的是 bool 值,所以没有任何东西被触发。从开发工具来看,它看起来像一个 .ng-animatin
有没有人在 SublimeREPL 中使用 irb 交换 pry 有任何运气?我很接近,我想。我没有收到错误,但是当我输入命令时也没有收到响应。每次我点击返回时,它的行为就像缓冲区被重置一样。 我正在
今天要向小伙伴们介绍的是一个能够快速地把数据制作成可视化、交互页面的 Python 框架:Streamlit,分分钟让你的数据动起来! 犹记得我在做机器学习和数据分析方面的毕设时,
简而言之,我想缩放 View - 就像 Android Market 一样,当您单击“更多”按钮时,例如在“描述”上。 我发现,Android Market 具有以下结构的布局: > 64d
我似乎无法让它工作。 我正在尝试每天发送一个给定的文件,其名称类似于“file_{{ds_nodash}}.csv”。 问题是我似乎无法将此名称添加为文件名,因为它似乎无法使用。在电子邮件的正文或主题
当您调整窗口大小时, float 的 div 将按预期换行到下一行。但我真的很希望这种布局变化是动画化的。 编辑:顺便说一句,找到一个不依赖于 JQuery 的解决方案会很好。如果需要,我不介意编写自
我有一个复杂的数据处理管道,目前在单台机器上用 Python 实现。 管道是围绕处理属于一系列实现文档、页面、单词等的自定义类的对象而构建的。该管道中的大多数操作都是令人尴尬地并行的——它们处理单个文
我是一名优秀的程序员,十分优秀!