Center text vertically in TextCtrl

I have just tested my example code on my MacBook Pro and get the same results as you. I am not aware of a way to get the TextCtrl to do what you want on a Mac. I tried using the SetMargins() method, but that only seems to work on Windows.

One possible workaround would be to adapt the technique I posted in How to make padding around the text of TextCtrl? - #4 by RichardT. That example was for a multiline TextCtrl so you would need to remove the wx.TE_MULTILINE style.