Hi @mp5gosu, You can react to BFM_INTERACTSTART and detect what key was pressed and in this case, and return True, so next message will not be dispatched and processed.
class MyDialog(c4d.gui.GeDialog):
def CreateLayout(self):
self.SetTitle("My Python Dialog")
self.AddEditText(1000, c4d.CUSTOMGUI_DESCRIPTION, c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT, 100, 500)
self.AddEditText(1001, c4d.CUSTOMGUI_DESCRIPTION, c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT, 100, 500)
return True
def Message(self, msg, result):
if msg.GetId() == c4d.BFM_INTERACTSTART:
bc = c4d.BaseContainer()
if c4d.gui.GetInputState(c4d.BFM_INPUT_KEYBOARD, c4d.KEY_LEFT, bc):
if bc[c4d.BFM_INPUT_VALUE] == 1:
if self.IsActive(1000): return True
if c4d.gui.GetInputState(c4d.BFM_INPUT_KEYBOARD, c4d.KEY_RIGHT, bc):
if bc[c4d.BFM_INPUT_VALUE] == 1:
if self.IsActive(1000): return True
return super(MyDialog, self).Message(msg, result)
If you have any question please let me know.
Cheers,
Maxime.