硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4426|回复: 16
收起左侧

[emWin] Dialog 詢問

[复制链接]

34

主题

112

回帖

214

积分

高级会员

积分
214
发表于 2020-4-13 15:31:47 | 显示全部楼层 |阅读模式
各位好:

想請問,為什麼 Dialog 視窗 移到哪 ,Dialog 以下就不見了?

完整畫面

完整畫面

Dialog移動1

Dialog移動1

Dialog移動2

Dialog移動2

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-4-13 15:42:50 | 显示全部楼层
你的对话框窗口区是不是没有重绘。
回复

使用道具 举报

34

主题

112

回帖

214

积分

高级会员

积分
214
 楼主| 发表于 2020-4-13 16:35:38 | 显示全部楼层
eric2013 发表于 2020-4-13 15:42
你的对话框窗口区是不是没有重绘。

分頁的 page3 每秒收到資料後,會進行         
          case MSG_TCPSendFrame:
                        WM_InvalidateWindow(hWin);      
          break;

我把 Dialog 視窗移來移去,以下畫面都會被裁切...
回复

使用道具 举报

34

主题

112

回帖

214

积分

高级会员

积分
214
 楼主| 发表于 2020-4-13 17:32:42 | 显示全部楼层
正常情況 = 擷取2.JPG => 57172.jpg

不正常情況 = 擷取.JPG => 57174.jpg

請問使用 os_mbx_wait 的情況下,為什麼會讓彩色長條圖的下方數字消失?
57173.jpg
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-4-14 11:50:38 | 显示全部楼层
fcdxsdxsza 发表于 2020-4-13 17:32
正常情況 =  =>

不正常情況 = =>

你当前的重绘框架设计不太合理,方便的话,帖个稍微完整的代码,我看下。
回复

使用道具 举报

34

主题

112

回帖

214

积分

高级会员

积分
214
 楼主| 发表于 2020-4-14 13:26:36 | 显示全部楼层
eric2013 发表于 2020-4-14 11:50
你当前的重绘框架设计不太合理,方便的话,帖个稍微完整的代码,我看下。

Button_SwitchDlg - 異常.c (27.98 KB, 下载次数: 0)
Button_SwitchDlg - 正常.c (27.91 KB, 下载次数: 0)


版主你好,此程式系統為 RTX ,功能為 TCP收到資料後,會利用         WM_SendMessageNoPara(hWinPage_3, MSG_TCPSendFrame);

傳送至 Page3的分頁 ,MSG_TCPSendFrame 接收後,秀出圖像。

目前是使用 正常的.c ,而發問的是 異常.c ,兩者差異在於 :

正常.c , 我還須定義 全域變數 uint8_t Thermalbuf[80*60*2 + 2 + 6 + 2 + 4 + 4];
在 MSG_TCPSendFrame 接收後 馬上儲存至 Thermalbuf

異常.c 的是 , 我到 WM_PAINT 在接收 就不用多定義 全域變數 uint8_t Thermalbuf[80*60*2 + 2 + 6 + 2 + 4 + 4];
但會被裁減。

異常

異常

正常

正常

異常

異常

正常

正常


另外請問的,假設我勾選T1的 Check選項,而打開新視窗,此視窗該如何知道它是由T1打開的嗎?
因為有6組 (T1~T6),我想要更新打開時的視窗名稱;例如T1打開的視窗稱為T1,T2打開的視窗稱為T2...以此類推,謝謝。


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-4-14 15:03:29 | 显示全部楼层
fcdxsdxsza 发表于 2020-4-14 13:26
版主你好,此程式系統為 RTX ,功能為 TCP收到資料後,會利用         WM_SendMessageNoPara(hWinPage_3 ...

看了下你的代码,要动的地方还不少,你的界面可以这样不,弹出来的对话框不动可以不。
回复

使用道具 举报

34

主题

112

回帖

214

积分

高级会员

积分
214
 楼主| 发表于 2020-4-14 15:19:06 | 显示全部楼层
eric2013 发表于 2020-4-14 15:03
看了下你的代码,要动的地方还不少,你的界面可以这样不,弹出来的对话框不动可以不。

看不太懂,你的意思...

另外請問的,假設我勾選T1的 Check選項,而打開新視窗,此視窗該如何知道它是由T1打開的嗎?
因為有6組 (T1~T6),我想要更新打開時的視窗名稱;例如T1打開的視窗稱為T1,T2打開的視窗稱為T2...以此類推,謝謝。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-4-14 18:44:40 | 显示全部楼层
fcdxsdxsza 发表于 2020-4-14 15:19
看不太懂,你的意思...

另外請問的,假設我勾選T1的 Check選項,而打開新視窗,此視窗該如何知道它是 ...

1、你把要新打开的对话框,创建到一个固定位置。
2、可以的,有回调消息的。
回复

使用道具 举报

34

主题

112

回帖

214

积分

高级会员

积分
214
 楼主| 发表于 2020-4-15 10:13:15 | 显示全部楼层
2、可以的,有回调消息的。

版主~可否告知 該如何使用? 是否有例程可參考?

謝謝
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-4-15 10:31:32 | 显示全部楼层
fcdxsdxsza 发表于 2020-4-15 10:13
2、可以的,有回调消息的。

版主~可否告知 該如何使用? 是否有例程可參考?

CheckBox的?
回复

使用道具 举报

34

主题

112

回帖

214

积分

高级会员

积分
214
 楼主| 发表于 2020-4-15 10:42:59 | 显示全部楼层

對的,想知道CheckBox勾選後開啟的視窗,該視窗如何知道是哪個CheckBox開啟的

謝謝
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-4-15 11:44:49 | 显示全部楼层
fcdxsdxsza 发表于 2020-4-15 10:42
對的,想知道CheckBox勾選後開啟的視窗,該視窗如何知道是哪個CheckBox開啟的

謝謝

http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834&extra=page%3D1

QQ截图20200415114415.png
回复

使用道具 举报

34

主题

112

回帖

214

积分

高级会员

积分
214
 楼主| 发表于 2020-4-15 13:42:38 | 显示全部楼层
eric2013 发表于 2020-4-15 11:44
http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834&extra=page%3D1

版主,你意思是 WM_NOTIFY_PARENT 來得知,如下圖嗎?
擷取.JPG


但是
hNumPad = GUI_CreateDialogBox(_aDialogUser,
                          GUI_COUNTOF(_aDialogUser),
                                                _cbDialogUser, hWinPage_3, 0, 0);             /* Execute the user dialog */

這個 開啟的新視窗該如何得知 它是被 ID_CHECK_0 ~ ID_CHECK_06 ,哪一個開啟?
新視窗的回调消息內,可以得知它是被哪ID_CHECK 給開啟嗎?

我目前 是從自己定義 全域變數來得知...
未命名.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-4-15 19:33:17 | 显示全部楼层
fcdxsdxsza 发表于 2020-4-15 13:42
版主,你意思是 WM_NOTIFY_PARENT 來得知,如下圖嗎?

打开后设置模态。
回复

使用道具 举报

34

主题

112

回帖

214

积分

高级会员

积分
214
 楼主| 发表于 2020-4-15 21:19:58 | 显示全部楼层
test.c (12.62 KB, 下载次数: 1)

版主你好,請問依這個例子,點擊 T1的Check 後,該如何得知是T1的Check,進而更改"開啟的視窗標題"? (T1~T6)

謝謝。

擷取.JPG
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-4-16 10:27:53 | 显示全部楼层
fcdxsdxsza 发表于 2020-4-15 21:19
版主你好,請問依這個例子,點擊 T1的Check 後,該如何得知是T1的Check,進而更改"開啟的視窗標題"? (T ...


TI有TI的回调消息,你直接在它的回调消息里面处理就行。更改其它的,你可以获取其它的Check的句柄,然后调用ChecK的API设置即可。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-19 01:14 , Processed in 0.346829 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表