I would like to inform via popup bubble (Ballon notification) on windows client that a query on remote appserver is done...
Is there a way to send those notifications that has being proofed on ABL?
Thanks!
Here is an older example I had in my samples directory.. still seems to work...
USING System.ComponentModel.*.
USING System.Windows.Forms.*.
DEFINE VARIABLE c AS CHARACTER FORMAT "x(30)" LABEL "Enter tip".
DEFINE VARIABLE components AS CLASS Container.
DEFINE VARIABLE notifyIcon AS CLASS NotifyIcon.
RUN setupNotifyIcon.
DO WHILE TRUE ON END-KEY UNDO, LEAVE:
UPDATE c WITH FRAME A VIEW-AS DIALOG-BOX THREE-D SIDE-LABELS TITLE "The Tip Maker".
RUN showTip ("Just the tip", c, 50).
END.
QUIT.
FINALLY:
DELETE OBJECT components.
DELETE OBJECT notifyIcon.
END FINALLY.
PROCEDURE setupNotifyIcon:
DEFINE VARIABLE cIconFilename AS CHARACTER NO-UNDO.
cIconFilename = SEARCH("d:\work\rtb\rtbgears.ico").
components = NEW System.ComponentModel.Container().
notifyIcon = NEW System.Windows.Forms.NotifyIcon(components).
notifyIcon:Text = "Roundtable TSMS".
notifyIcon:Icon = NEW System.Drawing.Icon (cIconFilename).
notifyIcon:Visible = TRUE.
END PROCEDURE.
PROCEDURE showTip:
DEFINE INPUT PARAMETER pcTitle AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pcText AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER piTime AS INTEGER NO-UNDO.
notifyIcon:BalloonTipTitle = pcTitle.
notifyIcon:BalloonTipText = pcText.
notifyIcon:ShowBalloonTip(piTime).
RETURN.
END PROCEDURE.
Those work nicely: msdn.microsoft.com/.../ms160065(v=vs.110).aspx
Thanks.. Just s little question.
I got struck on the ....... part of the sintaxis... Docs say that there should be a ToolTipIcon.Info datatype
this is where i get to:
DEFINE VARIABLE notifyIcon1 AS NotifyIcon.
DEFINE VARIABLE ToolTipIcon1 AS ToolTipIcon.
notifyIcon1:VISIBLE = YES.
notifyIcon1:ShowBalloonTip(20000, "Information", "This is the text",
ToolTipIcon1....... ).
How could I get that value on ABL?
TIA
Here is an older example I had in my samples directory.. still seems to work...
USING System.ComponentModel.*.
USING System.Windows.Forms.*.
DEFINE VARIABLE c AS CHARACTER FORMAT "x(30)" LABEL "Enter tip".
DEFINE VARIABLE components AS CLASS Container.
DEFINE VARIABLE notifyIcon AS CLASS NotifyIcon.
RUN setupNotifyIcon.
DO WHILE TRUE ON END-KEY UNDO, LEAVE:
UPDATE c WITH FRAME A VIEW-AS DIALOG-BOX THREE-D SIDE-LABELS TITLE "The Tip Maker".
RUN showTip ("Just the tip", c, 50).
END.
QUIT.
FINALLY:
DELETE OBJECT components.
DELETE OBJECT notifyIcon.
END FINALLY.
PROCEDURE setupNotifyIcon:
DEFINE VARIABLE cIconFilename AS CHARACTER NO-UNDO.
cIconFilename = SEARCH("d:\work\rtb\rtbgears.ico").
components = NEW System.ComponentModel.Container().
notifyIcon = NEW System.Windows.Forms.NotifyIcon(components).
notifyIcon:Text = "Roundtable TSMS".
notifyIcon:Icon = NEW System.Drawing.Icon (cIconFilename).
notifyIcon:Visible = TRUE.
END PROCEDURE.
PROCEDURE showTip:
DEFINE INPUT PARAMETER pcTitle AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pcText AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER piTime AS INTEGER NO-UNDO.
notifyIcon:BalloonTipTitle = pcTitle.
notifyIcon:BalloonTipText = pcText.
notifyIcon:ShowBalloonTip(piTime).
RETURN.
END PROCEDURE.
Thanks Mike and Jeff!!!
One last question.....
I used jeff's code (credits listed on code) ;)
but I found that the ballons are not very reliable, as while testing, I ended with 30 or so little icons on the notification area (next to clock) and were stacked somehow, then as I cleared some (click on it) and so they showed the message popup. Still, there are 7 notifications pending, but I can't clear them. And new notification won't throw ballon...
Any clue?
This is the code:
/*------------------------------------------------------------------------
File : NotifyToolTip
Purpose :
Syntax
USING procs.msg.NotifyToolTip FROM PROPATH.
DEFINE VARIABLE Ballon AS NotifyToolTip NO-UNDO.
Ballon = NEW NotifyToolTip ().
ballon:ShowTip("Título", "Mensaje", 10).
Description : Genera una Notificación tipo Ballon Tool Tip en windows.
Author(s) : JorgeOctavioOlguin
Created : Fri Mar 10 15:53:44 CST 2017
Notes : Orignal Jeff Ledbetter Tugboat Software..
----------------------------------------------------------------------*/
USING Progress.Lang.*.
USING System.ComponentModel.*.
USING System.Windows.Forms.*.
BLOCK-LEVEL ON ERROR UNDO, THROW.
CLASS Procs.Msg.NotifyToolTip:
DEFINE VARIABLE components AS CLASS Container.
DEFINE VARIABLE notifyIcon AS CLASS NotifyIcon.
CONSTRUCTOR PUBLIC NotifyToolTip ( ):
SUPER ().
DEFINE VARIABLE cIconFilename AS CHARACTER NO-UNDO.
cIconFilename = SEARCH("Procs\iconos\sch.ico").
components = NEW System.ComponentModel.Container().
notifyIcon = NEW System.Windows.Forms.NotifyIcon(components).
notifyIcon:Text = "Sistema TAP".
notifyIcon:Icon = NEW System.Drawing.Icon (cIconFilename).
notifyIcon:Visible = TRUE.
END CONSTRUCTOR.
METHOD PUBLIC VOID ShowTip( INPUT pcTitle AS CHARACTER, INPUT pcText AS CHARACTER, INPUT piTime AS INTEGER ):
notifyIcon:BalloonTipTitle = pcTitle.
notifyIcon:BalloonTipText = pcText.
notifyIcon:ShowBalloonTip(piTime).
RETURN.
END METHOD.
DESTRUCTOR PUBLIC NotifyToolTip ( ):
DELETE OBJECT components.
DELETE OBJECT notifyIcon.
END DESTRUCTOR.
END CLASS.What if we move the notifyIcon:Visible = TRUE.
to the ShowTip()?
Just thinking aloud.