Results 1 to 39 of 39

Thread: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

  1. #1

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Resolved [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Hi Cairo Squad, this one is most likely for Olaf.

    A couple of issues. I'm planning on detailing out Panels in a FULL tutorial for everyone, as it's a highly useful facility of Cairo. I'm making headway but there are some oddities.

    See question marks. I've put in my greentext so as to figure out what they do, but many are unlisted. ??? Question marks are unknowns, I'm pretty much wild guessing. Could these be clarified, or, where may I read up about them? Thank you.

    Making a widget form.
    Set Invisible_Overlay_Screen = Cairo.WidgetForms.Create(7, "My Invisible Overlay Screen", True, Screen_Width + 6, Screen_Height + 30)
    'Breakdown of the data in building a Widget Screen Overlay.
    '({7-> Means BLANK???}7 ??? It's NOT on the dropdown list, only 6 items are, {New name of the Widget itself}"My Invisible Overlay Screen", True, '{Size of the Screen X}Screen_Width , {Size of the Screen Y} Screen_Height)

    Invisible_Overlay_Screen.WidgetRoot.BackColor = -1 '??? Set to Nothing, why not 0?
    Invisible_Overlay_Screen.WidgetRoot.ImageKey = "none" '??? No image as the backdrop. Why isn't it null or 0?
    Invisible_Overlay_Screen.CenterOn New_c.Displays(1)'???? I have no idea.

    Name:  Widget Help.jpg
Views: 612
Size:  62.7 KB

    Secondly, see image. I would like to 'Move' the Medallion Widget, when it appears (GotFocus?) to be at the cursor's position, or thereabouts. I tried using Private Sub Invisible_Overlay_Screen_GotFocus() & Medallion.Widget.Move Mouse_X, Mouse_Y (in Class_Overlay), but it only ever works once. Where or how does one reposition the Medallion, on visible? In the Form, Module, Class Overlay or Class_Widget_Medallion?

    Ie: On first visible, the medallion moves to the cursor, but when you make invisible, then visible, it's still in the same spot. It needs to open at Mouse_X and Mouse_Y. Also, when I drag the Medallion, how do I check to make it stay within screen bounds? (Screen_Width and Screen_Height) when dragging/opening it? Is this a Let, Get, Set thing that I need to read my Ref Book on?

  2. #2
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: Painless Panels Perk Pepper Poodles (Cairo Panels)

    Quote Originally Posted by -Corso-> View Post
    Ie: On first visible, the medallion moves to the cursor,
    but when you make invisible, then visible, it's still in the same spot.
    It needs to open at Mouse_X and Mouse_Y.
    When it is invisible, then you will simply have to call:
    MyMedallion.Widget.Move ..., ... before you finally switch its Visible-Prop back to True.

    Quote Originally Posted by -Corso-> View Post
    Also, when I drag the Medallion, how do I check to make it stay within screen bounds?
    (Screen_Width and Screen_Height) when dragging/opening it?
    The Dragging of a Widget (like your medallion), which has its "MoveAble-Prop" at True,
    can be restricted in the (Widget-internally) handled Event:
    W_Moving()
    ... where you simply check:
    - for W.Left, W.Top whether they are < 0
    - for W.Left + W.Width > W.Parent.Width (same for W.Top+W.Height > W.Parent.Height)
    and if one of the cases is met - then calculate a new x,y which leaves the Widget "on screen" -
    and finally apply these new x/y-Values as the new W.Left and W.Top via W.Move x, y

    HTH

    Olaf

  3. #3

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: Painless Panels Perk Pepper Poodles (Cairo Panels)

    Oh god! It's perfect!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Thanks Olaf.

    I had to do a couple of things.
    1. Make the Medallion a Global Class. Then I could affect it's visible/invisible status from the form. I placed that in Module_1.
    'Make a New Medallion as an Overlay Widget from a class
    Public Medallion As Class_Widget_Medallion
    Is it wrong to do it that way?

    2. Class_Overlay_Connector.Invisible_Overlay_Screen.Refresh actually 'shows and {updates}' the repositioning graphic medallion. It looks like this was needed for most of my attempts.

    Anyway, by hiding the medallion, moving it, then showing, then refreshing the overlay, all the jumpiness vanished as well. Ie: You see a sharp glimmer of an after image in the old position if done wrong. Now it's like magic.

    It's perfect right now, borderwise (via My_Medallion_Moving() ) and under mouse cursor appearance. I now need to work on the buttons then I should have it mostly complete. Then I can outline it on here.

    Thanks again Olaf.

  4. #4

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Ok Olaf,
    I've got most things worked out, but how does one send text back from a BubblingEvent to the Main Form or Viewport_Surface.Surface?

    This below doesn't work, but you can see what I wanted to do. It enters the sub, but no text is printed. It's a Class thing isn't it? Not sending data out unless strictly specified?

    I've got this in the Invisible_Overlay_Screen (Class)

    Private Sub Invisible_Overlay_Screen_BubblingEvent(Sender As Object, EventName As String, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant, P5 As Variant, P6 As Variant, P7 As Variant)
    'When you click a Button, ie: Widget.Key, it will activate this sub
    Dim Input_String As String 'What is being sent
    Input_String = Left$(Sender.Widget.Key, 6) 'Grab the word, 'Button' usually
    Dim My_Caption As String 'Untrimmed data
    My_Caption = Sender.Widget.Key 'Full string of what event ovccured

    'From the sent data, is it a "Button" and was there a "W_Click" event?
    If Input_String = "Button" And EventName = "W_Click" Then
    '-----------------------------------------------------------------------------
    'If this worked it would be cool!
    'Choose font and colour
    Viewport_Surface.SelectFont "Bahnschrift", 12, RGB(255, 255, 255)
    'Print the event on the surface
    Viewport_Surface.TextOut 100, 100, My_Caption
    'Update to physical screen
    Viewport_Surface.Surface.DrawToDC Form_Master.Picture_Viewport.hDC
    '-----------------------------------------------------------------------------
    End If
    End Sub

    Thanks for help!

  5. #5
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Quote Originally Posted by -Corso-> View Post
    I've got this in the Invisible_Overlay_Screen (Class)
    Private Sub Invisible_Overlay_Screen_BubblingEvent(Sender As Object, ...
    Only the "normal Cairo-Drawing" in your Main-App, where you work with Surfaces directly,
    needs to "flip" the final result-surface with your updated Drawings (against the MainForm.hDC) "by hand".

    The Invisible_Overlay_Screen is based on a different (widget-based) Form-Host entirely -
    and has the Drawing-Refreshs (basically) on "full automatic" ...
    (the Widgets themselves encapsulating a Surface for you, refreshing themselves in most actions).

    So, if you want to have something like a "log-area" on your overlay-screen -
    then the best idea is, to not think in "Surfaces" or "Surface-refreshs", but "in Widgets".

    Meaning, that the question then becomes:
    - what Widget can you add (in the same way as your Medallion) to the ParentHost of these Widgets
    - it needs to be of a type, so that it can visualize "multiline-Text"

    Well, a cwLabel with: WordWrap = True comes to mind (from RC6Widgets.dll, which you have to check-in as a reference).

    Inside your ScreenOverlay-Class you could say (in your declaration-section):
    Private MyLogArea As cwLabel

    And somewhere in Form_Load you have to "add it".
    Set MyLogArea = Form.Widgets.Add(New cwLabel, ..., ...)
    MyLogArea.Widget.FontName = "BahnSchrift"
    MyLogArea.Widget.FontSize = 12
    MyLogArea.Widget.ForeColor = vbRed
    MyLogArea.WordWrap = True

    Now, in your Bubbling-Event what remains to be added is:
    MyLogArea.Caption = MyLogArea.Caption & vbCrLf & Sender.Key '<- changing the caption, causes an automatic refresh

    If you need Scrollers in that LogArea (in case the log-text gets too long) -
    then perhaps use a cwTextBox with MultiLine=True (instead of a cwLabel).

    As for Visibility and Moving... the same rules as for your Medallion-Widgets apply
    (you have "sister-widgets" on the same ScreenOverlay-ParentHost now)

    Olaf
    Last edited by Schmidt; Nov 23rd, 2022 at 10:14 PM.

  6. #6

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Ah neat, so that's how you put in a word widget and the others. I didn't find that tutorial. I'll go to town on that. - What do you know, it's pretty easy.

    Ok, hopefully the last problem.
    In regards to the Invisible_Overlay_Screen, in the old Planets example, you were testing for the overlay's visibility. And cycling it visible/invisible. Which would work well. But now that I've got a label on the same screen, it disappears as well, but it should stay up.
    Below is a mish-mash of new and old code. If I replace the 'IF' statement with If Medallion.Widget.Visible = True then (hide etc), which does work, once, and then never again.

    What I'm getting at, I don't think I'm using the correct method to repaint the screen/medallion. What should I be using to update/show it?

    Private Sub Picture_Viewport_Click()'This works, it's the old method'
    'Make the Overlay_Connector visible/Invisible
    'Is the overlay Connector visible?

    If Class_Overlay_Connector.Invisible_Overlay_Screen.Visible = True Then
    Medallion.Widget.Visible = False 'Hide the Medallion
    Class_Overlay_Connector.Invisible_Overlay_Screen.Visible = False 'Hide the Overlay Connector
    Else
    Class_Overlay_Connector.Invisible_Overlay_Screen.Visible = True 'Show/Activate the Overlay Connector
    Medallion.Widget.Move Mouse_X - 100, Mouse_Y - 100 'Move the hidden medallion
    Class_Overlay_Connector.Invisible_Overlay_Screen.Refresh 'Refresh the overlay including the medallion
    Medallion.Widget.Visible = True 'Show the medallion
    End If
    End Sub

    Thanks for help!

  7. #7
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Regarding "switching of visibility" (on the cfOverlay-Form)...

    If you take the original "Planets-Demo" -
    the Medallion-Widget does not exist there (yet) ...
    instead we have a "PL"-Variable which holds a cwPlanet-Widget.

    This Variable is defined inside cfOverlay as:
    Private PL As cwPlanets

    To make it "public reachable" you can change the scope of it to:
    Public PL As cwPlanets

    After that, to test "Visibility-switchery" you only have to add:
    - into your fMain.frm (which hosts the "normal Game-Outputs")
    Code:
    Private Sub Form_Click()
      With fOverlay.PL.Widget
          .Visible = Not .Visible 'flip the visible-state of the PL.Widget
      End With
    End Sub
    What I mean is, that the transparent Overlay-Form itself (cfOverlay)
    can keep its "Visible-state" at "always-On" (throughout the whole program-session).
    It is a fully transparent Widget-Host-Form after all...

    Only the (visible) Widgets *on* that transparent Form need to be switched On- and Off (regarding Visibility).

    HTH

    Olaf

  8. #8

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Hi Olaf, yes, I'd like the overlay to be there permanently.

    Ok, Public variables, got it. I was using them globally defined in the module. Which does help, but I'll keep them in the Class instead.

    Here's the real problem, which may or may not be the true cause. See image.

    Name:  The whole shebang vanishes.jpg
Views: 509
Size:  337.6 KB

    As a test I removed all visibility/invisibility options of any medallion or overlay, but once I click on the empty area of the screen, everything vanishes. Forever..... I can't get it back either, no amount of visibility, refreshes etc help. What is causing this and how do I stop it?

  9. #9
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Quote Originally Posted by -Corso-> View Post
    ...once I click on the empty area of the screen, everything vanishes.
    My guess is, that you have an entirely normal "Form-Z-Order" -problem...

    Clicking the Main-Form (the one with the "manually applied Cairo-Game-Renderings") brings it into the ForeGround -
    and in turn (unless "special settings" took place) - now covers the transparent "Widget-Host-Form"
    (which is then sitting behind it in the BackGround - despite its visible-state being True).

    As for these ominous "special settings"...
    We can avoid this Z-Order-Switchery (between Top-Level-Window-Siblings on the Desktop),
    when we tell the "secondary-Form", to act as a "Tool-Window" of the "primary Form".

    This is usually done by passing an "OwnerForm" in the Show-Method this way:
    SecondaryToolForm.Show vbModeless, PrimaryOwnerForm '<- the second optional Param of the Show-Method

    The "Planets-Demo" does this in the last line of Sub Main() ... where everything comes to life:
    fOverlay.Form.Show vbModeless, fMain

    HTH

    Olaf


  10. #10

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Name:  And just like that.jpg
Views: 527
Size:  118.4 KB

    And, just like that, it worked instantly.

    Thank you very much Olaf. This is great! I was transcribing the Planets demo, but somehow missed that line(!)

    Tell me though, what's the best approach for making something like a whole inventory screen? For example, with multiple tabs, picture boxes, buttons, etc, like this sort of thing https://i.pinimg.com/originals/ff/75...2ed0677e31.png Does one use only one overlay, or, two+? Like putting other things on a different overlay like a spellbook-hotbar for example? As they 'could' both appear on the screen at the same time, but they are different entities, and must not interfere with one anothers' drawing space.

    Or is there other Cairo things worth considering for such matters?

    Anyway, time to re-re-write another Panels example for my familiarity and I'll post it up for other people when done.

  11. #11

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Olaf, I've yet another question,
    I've been trying to assemble a Cairo Surface of edge pictures. These edges make up the Inventory backdrop. 4 corner pictures and 4 side pictures.

    Name:  Edges.jpg
Views: 494
Size:  49.3 KB These PNG bits, with a black middle.

    Building the surface is easy, but putting it onto the overlay as a 'thing'??
    I've tried using a New Widget Form and sending the surface to it's hDC, but no luck.

    What does one do to put an 'Imagesurface' onto an Overlay? Widgetform, cwImage, cwCanvas?

    Thanks again!

  12. #12
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Quote Originally Posted by -Corso-> View Post
    I've been trying to assemble a Cairo Surface of edge pictures. These edges make up the Inventory backdrop. 4 corner pictures and 4 side pictures.

    Name:  Edges.jpg
Views: 494
Size:  49.3 KB These PNG bits, with a black middle.

    Building the surface is easy, but putting it onto the overlay as a 'thing'??
    I've tried using a New Widget Form and sending the surface to it's hDC, but no luck.

    What does one do to put an 'Imagesurface' onto an Overlay? Widgetform, cwImage, cwCanvas?
    Any Widget can be a container of any other Widget.
    Any Widget can render anything on its own surface against the incoming "CC" of its W_Paint-Event.

    So, why not implement a simple cwCont9.cls Widget,
    which automatically renders a given "FrameImg-Resource" (9-patch-png like) as its BackGround (in W_Paint)?

    Went ahead and did just that, directly in the former Planets-Demo:
    Here is the Zip: GameOverlayDemo.zip

    The above will now render (in addition to the "PL"-Planets-"Medallion-Container") -
    an additional Container, named Cont9 As cwCont9 - and it looks like this:
    Name:  PlanetScreenShot.jpg
Views: 420
Size:  26.4 KB

    So, with that you don't have to "split up" your Pixel-work of an underlying "Frame-PNG" beforehand -
    just design it with "all the Corners" and hand it over as a Resource-ImageKey to the new cwCont9-Widget in its entirety.

    As for you other question (regarding additional Overlay-Forms) -
    sure, you can do that - but if some of these additional ones are only e.g. "a smaller Stripe at the Bottom",
    then make sure to adjust the Form-Height of such a new "Overlay-Bottom-Stripe-Form" to only the height you need.
    (to save memory and render-time when you refresh its widget-contents).

    An alternative is of course (as the new Demo clearly shows) -
    that you design your "Bottom-Stripe-Container for spellbook-hotbars" -
    as "just another Container-Widget", which you add to the default-Overlay-Form which already exists.

    HTH

    Olaf

  13. #13

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Ah neat, thanks again Olaf.
    The reason I wanted to make the Inventory Frame in pieces was for size adjusting. One major gripe for RPG'ers on forums was the inability to adjust the inventory or other window sizing. Some people like to keep things open, others like big formatting, then again, screen size also plays a part in all that.
    Ok, I'll give it a shot with the edges I've made, in the W_Paint field <-(This is the thing I'm too unawares about).

    Many thanks Olaf, I appreciate all the patience you've got to help us newbs out.

  14. #14

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Aww yeah, it's all coming together..

    This is a mini test and will be drawn properly in the future, the snakes are too large and blurry. God I LOVE how you can crop the LongBar segment image at the printing stage. It's 1280px wide.

    Quick Frame Test
    Name:  Interface Test.jpg
Views: 461
Size:  455.4 KB

  15. #15
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Quote Originally Posted by -Corso-> View Post
    The reason I wanted to make the Inventory Frame in pieces was for size adjusting.
    I'm aware of that... not sure whether you have heard (or googled) for the "9-patch-png"-technique already -
    but that is, what the cwCont9-Widget does for you automatically...

    And that means, that you can leave your Frame-Images as they are (without "split-ups-by-hand").

    Quote Originally Posted by -Corso-> View Post
    One major gripe for RPG'ers on forums was the inability to adjust the inventory or other window sizing.
    Ok, forgot to add some MousePointer-Switchery and MouseResizing to cwCont9 (in the above Zip)...
    Just add it to the bottom of cwCont9.cls - and the Frame becomes resizable...
    (keeping its Borders unscaled, due to automatic "9-patching"):
    Code:
    Private Sub W_MouseMove(Button As Integer, Shift As Integer, ByVal x As Single, ByVal y As Single)
      HandleMouseResizing Button, x, y
    End Sub
    
    Private Sub HandleMouseResizing(Button As Integer, ByVal x As Single, ByVal y As Single)
      Static lastX!, lastL!, lastW!, fx!
      Static lastY!, lastT!, lastH!, fy!
      Dim WW!, HH!, minW!, minH!, dx!, dy!
      
      minW = 128: minH = 128
      If Len(W.ImageKey) Then
         minW = Cairo.ImageList(W.ImageKey).Width
         minH = Cairo.ImageList(W.ImageKey).Height
      End If
      
      If Button = 0 Then 'Button-Up-Mode (used to store a few infos in static-vars and to change the Mouse-Cursor)
         W.Root.GetMouseCursorPos lastX, lastY
         lastL = W.Left: lastW = W.Width:  fx = 1
         lastT = W.Top:  lastH = W.Height: fy = 1
         W.MousePointer = IDC_ARROW
     
         Const r = 16 'catch-distance to the borders
            If x < r Then W.MousePointer = IDC_SIZEWE
            If y < r Then W.MousePointer = IDC_SIZENS
            If x < r And y < r Then W.MousePointer = IDC_SIZENWSE
            If x > W.Width - r Then W.MousePointer = IDC_SIZEWE:  fx = 0
            If y > W.Height - r Then W.MousePointer = IDC_SIZENS: fy = 0
            If x < r And y > W.Height - r Then W.MousePointer = IDC_SIZENESW
            If x > W.Width - r And y < r Then W.MousePointer = IDC_SIZENESW
            If x > W.Width - r And y > W.Height - r Then W.MousePointer = IDC_SIZENWSE
         W.Root.MousePointer = W.MousePointer 'this final "take-over"-call into the root, will cause an immediate cursor refresh
         
      ElseIf Button = vbLeftButton Then 'Button-Down-Mode (here's where the final resize-moves happen)
         W.Root.GetMouseCursorPos dx, dy
         dx = dx - lastX: WW = lastW + dx - 2 * fx * dx: If WW < minW Then WW = minW
         dy = dy - lastY: HH = lastH + dy - 2 * fy * dy: If HH < minH Then HH = minH
         
         W.Moveable = False
         Select Case W.Root.MousePointer 'Resize-Handling (dependent on the current MousePointer)
            Case IDC_SIZEWE: W.Move lastL + fx * dx, lastT, WW, lastH
            Case IDC_SIZENS: W.Move lastL, lastT + fy * dy, lastW, HH
            Case IDC_SIZENWSE, IDC_SIZENESW: W.Move lastL + fx * dx, lastT + fy * dy, WW, HH
            Case Else: W.Moveable = True
         End Select
         W.Parent.Refresh
      End If
    End Sub
    HTH

    Olaf

  16. #16

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    That's pretty freaking neat Olaf. Thanks for posting.
    What I was doing, when you inherently paste into a surface you can crop the Cario.Imagelist.Item by dx and dy. Which is super simple for adjustment.

    Now I'll have to see some more Cairo object items, is there a list somewhere of all of them? Every time I do a search I can't find the one with the list. I'm sure it exists....
    Last edited by -Corso->; Nov 27th, 2022 at 01:42 AM.

  17. #17
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Quote Originally Posted by -Corso-> View Post
    Now I'll have to see some more Cairo object items, is there a list somewhere of all of them?
    Every time I do a search I can't find the one with the list. I'm sure it exists....
    In case you mean the predefined Widgets behind the RC6Widgets-Reference -
    ...<F2> (or <Shift><F2> is your friend...

    As for "how to use Widgets from RC6Widgets.dll" in a Game-Scenario (with scrollable, graphics-heavy listings),
    I've uploaded something into the CodeBank just now: https://www.vbforums.com/showthread....ame-Scenarios)

    HTH

    Olaf

  18. #18

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    AHHHHH, so that's what F2 does.
    God the things you learn.
    Much appreciated on the Game-Jumble-Jam, that makes understanding things in situ that much easier.
    By the way, DropDown, normally one does AddItem for the VB version. How does one add an item to a cwDropDown? I couldn't see anything in F2 data that resembled it.
    I could use the drop down straight away on the Facemaker program for example. The VB ones are too old fashioned.

  19. #19

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Ok peeps, here's a comprehensive tutorial on some minor panel damage.
    It's super basic as we all need to start somewhere. Green text everywhere, spelling nowhere.
    It's a restructured version of the Planets demo. But made from scratch, as best as I could understand it
    You can move the big planet. When you hover, the flat panel shows stuff, and the click label will define what you did.
    Name:  Screen Panel.jpg
Views: 414
Size:  77.2 KB

    I put the files on Dropbox as this forum spits the dummy for zips..
    https://www.dropbox.com/s/bz0pizz1sz...orial.zip?dl=0

    Let me know if it works for you, or doesn't, or if it helps.

  20. #20

  21. #21

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Do you mean this, https://www.vbrichclient.com/#/en/Downloads.htm from Olaf's site?

  22. #22
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Location
    Sofia, Bulgaria
    Posts
    5,120

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Quote Originally Posted by -Corso-> View Post
    Do you mean this, https://www.vbrichclient.com/#/en/Downloads.htm from Olaf's site?
    It says "Zip-Download-> of the current master-branch (incl. the latest vbWidgets.dll-Binary, ~ 237KB)" but this one references RC5 i.e. uses types from RC5 on its public interfaces.

    cheers,
    </wqw>

  23. #23

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    I have no idea what any of that means. I just click add RC6 and RC6Widgets in the VB6 IDE, and everything works.
    Perhaps Olaf might understand what you mean. I'm just the hobbyist programmer, not the administrator of said repositories.

  24. #24
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Quote Originally Posted by wqweto View Post
    Where did you get RC6 Widgets binary from?
    The RC6Widgets.dll is now always part of the larger RC6BaseLibs-Zip
    (to ensure the pairing to the RC6.dll - with matching TypeLib-Refs).

    Will update the GitHub-Repo with the latest Widget-Version though, when I find time (the next weeks) -
    but the changes to the existing (RC5-based) Widgets are only very marginal...

    Olaf

  25. #25
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Location
    Sofia, Bulgaria
    Posts
    5,120

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    10x

    Missed that and forgot to register RC6Widgets.dll from RC6 redist ZIP.

    cheers,
    </wqw>

  26. #26

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Olaf, More pain.
    Well it was time to make a new Invisible_Overlay on the main RPG game to build the Inventory screen.
    Tried and tried and nothing would show. Super, super frustration as I ended up scrapping it and then bringing over the same code as the working versions.
    Nothing works!?
    Nothing shows, except if I do this. (IO is the shorthand for Invisible_Overlay)

    Private Sub Form_Activate()
    IO.My_IO.Show vbModal, Form1
    End Sub
    Changing it to that shows the Inventory frame, but you can no longer select outside it, the program just beeps. You can however move the Inventory frame around the screen like normal.

    So I'm at a loss. How can one make it like usual where you can click behind it? At the moment, the avatar can't move since the inventory screen locks the form.
    Last edited by -Corso->; Nov 30th, 2022 at 06:59 AM.

  27. #27

  28. #28

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Thanks for the suggestion wqweto.

    I retried again this morning, but, I removed all the other pop-up forms that were used to display armour stats.

    And,

    It freakin worked!

    GAAAD! DHAAANG IIIEEEET!

  29. #29

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Sooooo. I was going to upload the new and improved screen with Class Overlay Armour/Body Display of the lizardgirl, as it's working(!). Yay. But this forum says I can't upload anymore images due to quota. And they don't appear to be able to be deleted. What's the story peeps?

  30. #30
    PowerPoster Arnoutdv's Avatar
    Join Date
    Oct 2013
    Posts
    5,872

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    That the available image/attachment storage per user very very limited is.

  31. #31
    PowerPoster jdc2000's Avatar
    Join Date
    Oct 2001
    Location
    Idaho Falls, Idaho USA
    Posts
    2,393

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Click Go Advanced, then Manage Attachments.

  32. #32

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    JDC, the Manage Attachments thingy doesn't allow you to delete anything. It must be someone's idea of a joke page.

    This site won't even display dropbox files, it keeps saying Invalid Link to even these below. Does anyone know how to make them display?



    Lizard girl view test.
    https://www.dropbox.com/s/y7en1jw8ax...0Test.jpg?dl=0
    Random clothing display.
    https://www.dropbox.com/s/avw5rniuwu...splay.jpg?dl=0

    Anyway, no more forms, just neater displays now. I have to fix the numbers a bit as some of the pathing shadows are mangled. The armour pictures are only placeholders too. But still, it's looking pretty good.

  33. #33
    Member
    Join Date
    Aug 2020
    Posts
    56

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    You can upload pictures to some free image host and insert link here.


  34. #34
    PowerPoster jdc2000's Avatar
    Join Date
    Oct 2001
    Location
    Idaho Falls, Idaho USA
    Posts
    2,393

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Or, you can remove the attachments from previous posts, and they will be deleted by the system after one hour.

  35. #35

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Quote Originally Posted by Zann View Post
    You can upload pictures to some free image host and insert link here.
    Which image host did you use Zann? I can't even get the dropbox ones to show....

    Or, you can remove the attachments from previous posts, and they will be deleted by the system after one hour.
    What an absolute pain in the ass to do. Plus, some of the images are important.
    Last edited by -Corso->; Dec 1st, 2022 at 04:41 PM.

  36. #36
    Member
    Join Date
    Aug 2020
    Posts
    56

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Quote Originally Posted by -Corso-> View Post
    Which image host did you use Zann? I can't even get the dropbox ones to show....
    I have used imgur.com but there are many more.

  37. #37

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Quote Originally Posted by Zann View Post
    I have used imgur.com but there are many more.
    Imgur is like Cancer, AIDS and extremist political subversion all rolled into one. I think I'll leave that particular place alone.
    I'm just surprised VBForums won't link Dropbox image links, but will for other sites... I must be missing something....

  38. #38
    Member
    Join Date
    Aug 2020
    Posts
    56

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Try like this:
    Click on "Insert Image" icon


    Click "From URL" tab

    Paste your dropbox link in the "URL" field and uncheck "Retrieve remote file and reference locally" checkbox.

  39. #39

    Thread Starter
    Hyperactive Member -Corso->'s Avatar
    Join Date
    Oct 2021
    Posts
    379

    Re: [RESOLVED] Painless Panels Perk Pepper Poodles (Cairo Panels)

    Tried that, it says for this one:
    https://www.dropbox.com/s/y7en1jw8ax...0Test.jpg?dl=0 <- Invalid file
    & this one, trimmed a bit
    https://www.dropbox.com/s/y7en1jw8ax...0Test.jpg <- This is not a valid image file
    Unchecked
    <- No image shows, there is an image supposedly here
    Unchecked and trimmed
    <- No image shows, there is an image supposedly here
    Using the 'Raw=1' recommendation from Dropbox
    <- No image shows, there is an image supposedly here
    VBForums must hate Dropbox or something....

    EDIT, well, how about that. I changed computers and now 1 of them is showing... Let's see if the other pictures shows up....
    It should appear below \/

    More edits, Jesus, what the hell, now it's showing the same picture over and over!? I loaded the OTHER one just above. This site handling images is madness.
    Last edited by -Corso->; Dec 1st, 2022 at 08:38 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width