this can be accomplished several ways.
if you simply want a load screen, with no feedback, then using a state for loading is fully reasonable, however if you want a progress bar, things get a bit interesting.
1. use multi-threading/async loading, in which case, you need some method to post a percentage complete(for example, at specific point's in the load, pass an value to some variable that say's "i'm 10% done, 20%, etc.), or if loading multiple resources, and you only want to pass back what the file is your currently loading, then before opening a file, simply pass the filename string to some varaible to be rendered over your loading screen.
2. if single-threaded, post redraws at those percentage points, simply clear the screen, draw w/e your loading screen is, and flip the screen(disabling v-sync would be important here)
any decent content manager should incorporate such functionality for anything it's capable of loading, however if your loading the files directly yourself, it might by a bit tricker to incorporate such functionality.