Notifications
Clear all

[Closed] Send message to undocked Command Panel. Is there an other way?

I use this code, shown me by DenisT, to stop flickering of Command Panel:

 WM_SETREDRAW=0xB
  					commandHWND = windows.getChildHWND #max "Command Panel"	 
  					windows.sendmessage commandHWND[1]  WM_SETREDRAW 0 0 -- disable
  					-- windows.sendmessage commandHWND[1]  WM_SETREDRAW 1 0  -- enable

But this work when the Command Panel is docked.
When the Command Panel is undocked i use this:

(
  	WM_SETREDRAW=0xB
  	maxHWND = windows.getDesktopHWND()
  	maxChildren = windows.getChildrenHWND maxHWND
  	for child in maxChildren do 
  	(
  		if (child[5] == "Command Panel") then 
  		(
  			cmdPan_hwnd = child[1]
  			cmdPan_id = UIAccessor.GetWindowResourceID cmdPan_hwnd
  			cmdPan_parent = UIAccessor.getParentWindow cmdPan_hwnd
  			windows.sendmessage cmdPan_hwnd  WM_SETREDRAW 0 0	--	disable
  -- 			windows.sendmessage cmdPan_hwnd  WM_SETREDRAW 1 0	--	enable
  		)
  	)
  )

Tested on max2012.
Is thera another way(better) of sending message to undockd Command Panel?

3 Replies

if (hwnd = windows.getChildHWND #max "Command Panel") == undefined do hwnd = windows.getChildHWND 0 "Command Panel"

Thank you.

The problem:
In “german” 3dsMax 2009, 2012, 2013 the name of the Command Panel is Befehlsgruppe
but in the max2011 the name is[b][i] Befehlspalette

[/i][/b]How to avoid using the name of the command panel?