1. Tracy Lamb
  2. PowerBuilder
  3. Tuesday, 19 March 2024 22:28 PM UTC

Hi All!  It's been a few months since my last question... things are going good!  I really like PB2022 R3... Thank you Appeon.

I have a window object with a dw and a tab object. The tab object (ufolder_lab) is inherited from utab_folder, which is inherited from pfc's u_tab object.

ufolder_lab has 9 tabs, each with an associated unique function key (F1-F9). Each tab page has one dw, inherited from pfc's u_dw. On each dw, I have coded an event, ue_keypress, to trap function key presses and switch tabs accordingly. (Screen shot of the window is attached.) The function keys aren't working. I put a message in the keypress event, but that's not being triggered. If I enter actual data, that's writing to the dw just fine, but I don't get the message.  Maybe it's the keypress event on the dw's? Here the code:

ue_keypress( keycode key, unsignedlong keyflags)
MessageBox("ue_keypress", "Message received")
CHOOSE CASE key
	CASE KeyF1!
		itab_lab.SelectTab(1)
		idw_1.SetFocus()
	CASE keyF2!
		itab_lab.SelectTab(2)
		idw_2.SetFocus()
	CASE keyF3!
		itab_lab.SelectTab(3)
		idw_3.SetFocus()
	CASE keyF4!
		itab_lab.SelectTab(4)
		idw_4.SetFocus()
	CASE keyF5!
		itab_lab.SelectTab(5)
		idw_5.SetFocus()
	CASE keyF6!
		itab_lab.SelectTab(6)
		idw_6.SetFocus()
	CASE keyF7!
		itab_lab.SelectTab(7)
		idw_7.SetFocus()
	CASE keyF8!
		itab_lab.SelectTab(8)
		idw_8.SetFocus()
	CASE keyF9!
		itab_lab.SelectTab(9)
		idw_9.SetFocus()
	CASE keyF12!
		this.Post Event ue_form_finished()
	CASE ELSE
		return 0
END CHOOSE

 

I thought maybe the tabbed view on the frame was causing the problem. Removed that, no change. Maybe it's the RichText? Took all RichText fields out of the lab folder, that didn't work either. I did not take the RichText fields out of the other dw's. The first tab (workorder) you see just is just a dw object that draws data from other, unrelated tables.

The only other thing I can think of is PB. I'm using PB 2022 R3, build 3289. Most recent PFC files (PFC 2022?). Also using a tabbed window frame.

Any and all suggestions are welcome. I would put together a test to upload, but that would require the database because of all the tables involved.  I've attached a screenshot of the lab folder.

~~~Tracy

 

 

Attachments (1)
Accepted Answer
Arnd Schmidt Accepted Answer Pending Moderation
  1. Tuesday, 19 March 2024 22:52 PM UTC
  2. PowerBuilder
  3. # Permalink

Hi Tracy,

eventually you did not map the event to pbm_dwnkey.

https://docs.appeon.com/pb2019/datawindow_reference/ch08s30.html

hth

Arnd

 

Comment
  1. Arnd Schmidt
  2. Tuesday, 19 March 2024 23:25 PM UTC
Yes, pbm_dwnkey is the event to go. That is how I read the manual and also how I used it.



You can also try to use hidden menu items with F1 - F12 mapped and use the pfc message router.

  1. Helpful
  1. Chris Pollach @Appeon
  2. Tuesday, 19 March 2024 23:35 PM UTC
Hi Tracy;

FWIW : If those short cut keys are mapped in the current menu, then the menu will steal all those key events from the Window & it's controls.

Regards... Chris
  1. Helpful
  1. John Fauss
  2. Wednesday, 20 March 2024 02:06 AM UTC
@Tracy - I'm glad you were able to get a solution to your question! The event code for all of the mapped DataWindow events begin with "PBM_DWxxxxxx". Use the pbm_keydown event in other objects/controls that do not already have a KeyDown event.
  1. Helpful
There are no comments made yet.
Tracy Lamb Accepted Answer Pending Moderation
  1. Tuesday, 19 March 2024 23:52 PM UTC
  2. PowerBuilder
  3. # 1

So I went ahead and changed the event mapping from pbm_keydown to pbm_dwnkey.  That did the trick! 

Thank you so much, and cheers!

~~~Tracy

 

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.